我有一个模型,其属性如下:
[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 5.2.3.0版本程序集中。我想使用@Html.EditorFor()方法,但也需要数据注释。欢迎提供所有的想法。