来自数据注释的Asp.Net Mvc隐藏字段


74

我以为这将是对Google的快速搜索,但也许我缺少了一些东西。有没有一种方法可以使用Data Annotations设置ViewModel属性以在呈现标记时创建HiddenInput?

我发现的唯一注释是将属性完全从视图中隐藏,我仍然希望呈现该属性,但将其作为隐藏的输入。

Answers:


134

这个性质:

[System.Web.Mvc.HiddenInput(DisplayValue = false)]
public int Id { get; set; }

将被渲染为ie

<input id="Id" name="Id" type="hidden" value="21" />

使用Html.EditorForModel()或时 Html.EditorFor(m => m.Id)


7
完全符合System.Web.Mvc.HiddenInput或添加名称空间。
杰森

谢谢,除了Id属性外,它运行良好。我不知道为什么,当然在我的代码中完全没有Id属性的验证属性。
天前2012年

2
有什么理由为什么不在@Html.hiddenfor(_ => _.FOO) 视图中使用html helper ?

3
@gerdi,您可能只希望保留视图(.cshtml),而仅通过模型属性控制输出。或者您可能希望使用@ Html.EditorForModel(),在这种情况下,您无需编写Razor代码,因此需要该属性。
VictorySaber 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.