我有一个具有以下属性的模型:
[Required]
[HiddenInput(DisplayValue = false)]
public override int Id { get; set;}
现在,我的理解是,在呈现属性时,html助手应该遵循这些数据注释属性.但是,当我这样做
@Html.EditorFor(m => m.Id)
生成以下html:
我希望隐藏这个字段,但事实并非如此.我找到了另一个支持注释属性的助手:
@Html.Editor("Id")
由此产生的html将字段设置为隐藏,因为它应该是:
据我所知,两个助手都来自命名空间System.Web.Mvc.Html,两者的实现都来自System.Web.Mvc Assembly,版本5.2.3.0.
我想使用@ Html.EditorFor()方法,但我还需要数据注释.
欢迎所有想法
解决方法:
由@JakubJankowski在评论中解决. @ Html.EditorFor()不支持覆盖属性上的数据注释.
标签:c,asp-net,asp-net-mvc,razor
来源: https://codeday.me/bug/20190701/1352100.html