Was ist der Unterschied zwischen @Html.Label()
, @Html.LabelFor()
und @Html.LabelForModel()
Methoden?
asp.net-mvc
razor
Fabricio
quelle
quelle
Antworten:
Html.Label
gibt Ihnen eine Bezeichnung für eine Eingabe, deren Name mit dem angegebenen Eingabetext übereinstimmt (insbesondere für die Modelleigenschaft, die dem Zeichenfolgenausdruck entspricht):Html.LabelFor
gibt Ihnen eine Bezeichnung für die Eigenschaft, die durch den angegebenen Ausdruck dargestellt wird (normalerweise eine Modelleigenschaft):Html.LabelForModel
ist etwas kniffliger. Es gibt eine Bezeichnung zurück, derenfor
Wert der des vom Modellobjekt dargestellten Parameters ist. Dies ist insbesondere für benutzerdefinierte Editorvorlagen nützlich. Beispielsweise:quelle
@Html.EditorFor(m => Test)
oder@Html.EditorFor(m => m.Test)
?Html.Label
- Erstellt einfach ein Label-Tag mit der Zeichenfolge, die an den Konstruktor übergeben wirdHtml.LabelFor
- Erstellt eine Beschriftung für diese bestimmte Eigenschaft. Dies ist stark typisiert. Standardmäßig wird nur der Name der Eigenschaft angegeben (im folgenden Beispiel wird MyProperty ausgegeben, wenn das Display-Attribut nicht vorhanden ist). Ein weiterer Vorteil davon ist, dass Sie die Anzeigeeigenschaft in Ihrem Modell festlegen können. Dies wird hier angegeben:Aus Ihrer Sicht:
Oben wird LabelFor angezeigt
<label for="MyProperty">My property title</label>
. Dies funktioniert gut, sodass Sie an einer Stelle definieren können, wie die Bezeichnung für diese Eigenschaft lauten soll, und sie überall anzeigen lassen können.quelle
LabelForModel
- siehe meine Antwort.Ich denke, dass die Verwendung von
@Html.LabelForModel()
genauer erklärt werden sollte.Die LabelForModel-Methode gibt ein HTML-Beschriftungselement und den Eigenschaftsnamen der Eigenschaft zurück, die vom Modell dargestellt wird.
Sie können auf den folgenden Code verweisen:
Code im Modell:
Code im Blick:
Der Ausgabe-Screenshot:
Verweis auf Antwort im asp.net Forum
quelle
Angenommen, Sie benötigen eine Beschriftung mit einem benutzerdefinierten Textnamen, die Sie auf zwei Arten erreichen können
Die zweite Methode verwendete eine Eigenschaft aus Ihrem Modell. Wenn Ihre Ansicht ein Modell implementiert, können Sie die 2. Methode verwenden.
Weitere Infos finden Sie unter Link
http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx
quelle