Datenattribute für den Editor, weil er nicht funktioniert.
%Vor%Wenn ich meinen Chrome Browser öffne, kann ich kein Datenattribut für mein Textfeld sehen. Ich habe versucht zu glotzen und habe nichts sinnvolles gefunden.
Der zweite object
-Parameter für Html.EditorFor
ist nicht für HTML-Attribute, sondern für zusätzliche Ansichtsdaten. Die EditorFor
Helfer erlauben keine Anpassung von HTML-Attributen in der Art, dass z. Je spezifischer <input>
Helfer sind - sie nehmen den größten Teil ihres Setups aus den Modellmetadaten (zB [Attributes]
).
Der einfachste Weg zum "Reparieren" ist das Löschen von EditorFor
:
Alternativ schreiben Sie Ihre eigene EditorTemplate für die Eigenschaft. Dies könnte es Ihnen ermöglichen, Ihre ursprüngliche Syntax zu verwenden (oder zu vereinfachen), indem Sie den Wert data_typeahead
von ViewData["data_typeahead"]
(oder "typahead") abrufen.
Ein Schritt weiter, weiter fortgeschritten, könntest du dein eigenes Attribute
auf deine Modelleigenschaften anwenden + dein eigenes ModelMetadataProvider
(oder - einfacher - verwende IMetadataAware
, mehr dazu unten), um es in Metadaten umzuwandeln die der EditorTemplate verwenden könnte - um die Entscheidung über data-
-Attribute vollständig aus Ihrer Ansicht zu entfernen, indem Sie Ihren Aufruf in:
... und dein Modell in etwas wie:
%Vor% Tatsächlich können Sie EditorFor verwenden und zusätzliche HTML-Attribute senden. Verwenden Sie diese Überladung und legen Sie die additionalViewData
-Parameter fest. Es erwartet ein Objekt mit einer Eigenschaft htmlAttributes
:
Dies erzeugt etwas wie:
%Vor%Tags und Links asp.net-mvc