Wie zeige ich Text in html.LabelFor?

8

Ich mache int so:

%Vor%

Aber ich bekomme keinen Wert, der in der Eigenschaft ist, aber etwas Seltsames wie folgt:

%Vor%

Wie kann man einen Wert bei der Kennzeichnung erzielen?

    
r.r 07.09.2010, 15:06
quelle

2 Antworten

10

Der Grund dafür ist, dass Html.LabelFor genau das tun wird - eine Beschriftung für die Eigenschaft erstellen. In diesem Fall wird eine Bezeichnung von 'Benutzername' erzeugt, da der Eigenschaftsname Benutzername ist.

Sie müssen nur das Modell (oder was auch immer Sie an die Ansicht übergeben) betrachten, um den Eigenschaftswert zurückzugeben: Html.Encode(Model.UserName)

Update (da dies vor fast 3 Jahren war, aber die Leute wurden kürzlich upgestimmt):

Sie können einfach <%: Model.UserName %> verwenden, um den HTML-kodierten Wert zu erhalten ( <%= schreibt ihn als Raw und <%: schreibt ihn als Kodierung).

Wenn Sie eine Razor-View-Engine verwenden, wird @Model.Username sie bereits codiert ausgeben.

    
Jonathon Bolster 07.09.2010, 15:14
quelle
13

Fügen Sie DataAnnotations zu Ihrem Modell / Ansichtsmodell hinzu:

%Vor%

Quelle: Ссылка

Wenn Sie von DisplayAttribute keinen Anzeigenamen angeben, verwendet Html.EditorFor(...) den Namen der Eigenschaft und teilt ihn in Großbuchstaben auf:

Eigenschaftenname - & gt; Beschriftungstext
E-Mail - & gt; E-Mail-Adresse EmailAdresse - & gt; E-Mail-Adresse

    
davehauser 07.09.2010 15:10
quelle

Tags und Links