2 Stimmen

Asp.Net General Local Resource Tool für Benutzerkontrolle

Wenn ich das Visual Studio-Menü Tool -> Generate Local Resource verwende, wird die aspx-Datei durch Hinzufügen von Meta-Attributen zu Steuerelementen geändert. Aber es nicht tun, so für Benutzer-Steuerelemente, die ich erstellt haben.

Wenn ich zum Beispiel ein Steuerelement in der Seite verwendet habe

<myControl:SpecialLabelControl ID="myLabel" runat="server" Text="Localize Me!" />

Ich möchte, dass "Localize Me!" in die Ressourcendatei aufgenommen und dem SpecialLabelControl ein Meta-Attribut hinzugefügt wird.

Wie kann ich das tun?

Wie erstellt das Tool automatisch Ressource-Strings für eingebaute Steuerelemente? Liest es ein Attribut der Eigenschaft? Wie kann ich das Tool dazu bringen, dass es dasselbe für mein Steuerelement tut?

2voto

Jeff Punkte 2805

Stellen Sie zunächst sicher, dass "Text" eine öffentlich zugängliche Eigenschaft auf Ihrem Steuerelement ist.

Fügen Sie [Localizable(true)] oberhalb der Deklaration hinzu, wie im Beispiel unter diese Seite

Dies teilt der IDE mit, dass diese Eigenschaft von Ressourcendateien übernommen werden soll, und Tools -> Generate Local Resources erledigt den Rest! EDIT - nach weiteren Recherchen stieß ich auf dieser Artikel (und Auszug aus einem Buch). Es scheint, dass UserControls, die Sie mit öffentlich zugänglichen Eigenschaften erstellt haben, nicht durch das GLR-Tool getroffen werden können :(

Die, an denen ich bisher gearbeitet habe, waren Klassen, die ich als '.cs'-Dateien erstellt habe, und nicht etwa Benutzersteuerelemente, nehme ich an.

0voto

Steven Robbins Punkte 26083

Fügen Sie sie manuell in die Ressourcendatei ein:

myLabel.Text

Ändern Sie dann die Steuerung auf:

<myControl:SpecialLabelControl ID="myLabel" runat="server" meta:resourceKey="LiteralIdentifyBody" />

0 Stimmen

Ja, genau das tue ich jetzt. Aber wie erstellt das Tool automatisch Ressource-Strings für eingebaute Steuerelemente? Liest es ein Attribut der Eigenschaft? Wie kann ich das Tool dazu bringen, dass es dasselbe mit meinem Steuerelement macht?

0 Stimmen

Ah, sorry, ich habe Ihre Frage falsch verstanden, es könnte das DefaultProperty-Attribut verwendet werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X