das ist mein Modell
%Vor%und das ist meine Ansicht
%Vor%gibt es eine Möglichkeit, es zu rendern
%Vor%Ich konnte es nicht funktionieren lassen, selbst wenn ich aus der Dokumentation Ссылка klar ersehen kann, dass die Display-Eingabeaufforderung den Job erledigen sollte
Ich kann nicht 100% ig sicher sein, aber es sieht so aus, als ob die Wasserzeichenmarkierung in den Metadatencode übergegangen ist (es gibt eine klare Standardmethode, um eine Zeichenkette zu definieren, die zu einer Eigenschaft passt), aber nicht der Ansichtscode dennoch eine universell unterstützte Möglichkeit, mit Wasserzeichen auf der Client-Seite umzugehen.
Wenn das manuelle Hinzufügen der Attribute nicht funktioniert, ist es wahrscheinlich die beste Option, einen neuen HTML-Helper Html5TextBoxFor zu erstellen und diesen anstelle des Standard-TextBoxFor zu verwenden.
Innerhalb dieses Helpers können Sie den Eingabeaufforderungstext mit ModelMetadata.FromLambdaExpression abrufen und anschließend TextBoxFor mit einem benutzerdefinierten HTML-Attributobjekt aufrufen, das aus den Metadaten generiert wurde.
Ich brauchte diese genaue Funktionalität, aber ich wollte nicht herumgehen und alle meine EditorFor
ändern, um etwas anderes zu sein (ich habe eine Menge Seiten:)).
Um dies zu erreichen, habe ich einfach ein EditorTemplate
für String
erstellt (Sie können dies für andere Typen tun, wenn Sie es brauchen).
Basierend auf meinen Modelleigenschaften, die ich DisplayName
verwende, wie folgt:
Die Vorlage war einfach:
%Vor%Und dann blieb mein Anrufcode genau gleich:
%Vor%Außerdem können Sie dies für nicht-HTML5-Browser mit diesem exact -Code verwenden. Alles, was ich getan habe, war, einen Skriptverweis auf dieses großartige jQuery-Platzhalter-Plug-in und alle meine Platzhalter hinzuzufügen arbeite in IE6 (!!!!).
Jedes HTML-Attribut in der Rasiereransicht kann zum HTML-Helfer hinzugefügt werden, indem Sie den Wert der Eigenschaft in @html.control
mit dem Schlüsselwort new {}
zuweisen und dann das Attribut definieren, indem Sie mit @
symbol beginnen Verwenden Sie ein reserviertes Schlüsselwort im Rasierer, das ein HTML-Attribut wie class
darstellt. Sie müssen @
vor diesem Wort hinzufügen, genauso wie die Razor-Engine HTML-DOM-Elemente behandelt:
Sie können auch Ihre eigene HtmlHelper-Erweiterungsmethode erstellen, wie in diesem Artikel beschrieben: Ссылка
Obwohl Sie das vielleicht nie wirklich tun, könnten Sie dies als Beweis für das Konzept tun:
Modell:
%Vor%Anzeigen:
%Vor%Tags und Links asp.net-mvc asp.net-mvc-3 c# html5