[英]Html.EditorFor() does not honor data annotations
我有一個具有以下屬性的模型:
[Required]
[HiddenInput(DisplayValue = false)]
public override int Id { get; set;}
現在,我的理解是,在呈現屬性時,html助手應該遵循這些數據注釋屬性。 但是,當我這樣做
@Html.EditorFor(m => m.Id)
生成以下html:
<input class="text-box single-line" id="Id" name="Id" type="number" value="2">
我希望隱藏這個字段,但事實並非如此。 我找到了另一個支持注釋屬性的助手:
@Html.Editor("Id")
由此產生的html將字段設置為隱藏,因為它應該是:
<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">
據我所知,兩個助手都來自命名空間System.Web.Mvc.Html,兩者的實現都來自System.Web.Mvc Assembly,版本5.2.3.0。
我想使用@ Html.EditorFor()方法,但我還需要數據注釋。
歡迎所有想法
由@JakubJankowski在評論中解決。 @ Html.EditorFor()不支持覆蓋屬性上的數據注釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.