Wie füge ich data-*
HTML-Attribute mit TextboxFor hinzu?
Folgendes habe ich derzeit:
@Html.TextBoxFor(model => model.Country.CountryName, new { data-url= Url.Action("CountryContains", "Geo") })
Wie Sie sehen, -
verursacht das hier ein Problem data-url
. Wie geht das um?
asp.net-mvc
html
asp.net-mvc-3
Shawn Mclean
quelle
quelle
Antworten:
Sie könnten Unterstrich (
_
) verwenden und der Helfer ist intelligent genug, um den Rest zu erledigen:Und für diejenigen, die dasselbe in Versionen vor ASP.NET MVC 3 erreichen möchten, könnten sie:
quelle
EditorFor
. Der EditorFor-Helfer wird verwendet, um eine benutzerdefinierte HTML-Vorlage zu rendern, die dem angegebenen Typ entspricht. Eine Vorlage kann viele Elemente enthalten, daher ist es nicht wirklich sinnvoll, über Attribute in einer Vorlage zu sprechen. Natürlich können Sie jederzeit eine benutzerdefinierte Vorlage schreiben, die mit demadditionalViewData
Parameter arbeitet, der an eine Editorvorlage übergeben werden kann, und diese einfach als Attribute in das entsprechende Eingabefeld ausgeben._
wird-
in ältere (mittlere?) Versionen von MVC konvertiert . Es kann sein, dass die neuesten Versionen es gelöscht haben, aber ich verwende es erfolgreich auf MVC 3 und 4._
wird auch-
in MVC 5 konvertiert . Ich benutze es erfolgreich in einem Projekt, an dem ich gerade arbeite, das MVC 5 verwendet.