ich ein Modell mit folgenden Eigenschaft habe:Html.EditorFor() keine Daten Anmerkungen ehrt
[Required]
[HiddenInput(DisplayValue = false)]
public override int Id { get; set;}
Jetzt
, es ist mein Verständnis, dass die HTML-Helfer sollen diese Daten Anmerkung Attribute ehren, wenn Eigenschaften Rendering . Allerdings, wenn ich
@Html.EditorFor(m => m.Id)
die folgende html tun produziert:
<input class="text-box single-line" id="Id" name="Id" type="number" value="2">
Ich erwarte, dass das Feld versteckt werden, aber es ist nicht. Ich habe einen anderen Helfer gefunden, die die Anmerkung Attribute nicht einlöst:
@Html.Editor("Id")
Die html durch diese erzeugt setzt das Feld versteckt, wie es sein sollte:
<input data-val="true" data-val-number="The field Id must be a number." data-val-required="The Id field is required." id="Id" name="Id" type="hidden" value="2">
Soweit ich sagen kann, beide Helfer Aus dem Namespace System.Web.Mvc.Html stammen beide Implementierungen von der System.Web.Mvc-Assembly, Version 5.2.3.0.
Ich möchte die @ Html.EditorFor() Methode verwenden, aber ich brauche auch die Daten Anmerkungen.
Alle Ideen willkommen
Vielleicht hat es etwas mit Vererbung zu tun? Vielleicht sucht der Helfer nur nach Attributen auf Basisklassenebene? Nur ein Gedanke –
@JakubJankowski Das war es! Seltsam, dass einige der Methoden auf die Basisklasse schauen und andere nicht, aber sie haben es bestimmt behoben. Vielen Dank. – Toodleey
@Christos in welcher Welt ist das ein Duplikat des Posts, den du markiert hast? – Toodleey