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

Jus*_*liz 71 asp.net asp.net-mvc data-annotations

我认为这将是谷歌的快速搜索,但也许我错过了一些东西.有没有办法使用数据注释来设置ViewModel属性,以便在标记呈现时创建HiddenInput?

我发现的唯一注释是完全隐藏视图中的属性,我仍然希望渲染属性,但作为隐藏输入.

mie*_*sol 131

这个性质:

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

将呈现为ie

<input id="Id" name="Id" type="hidden" value="21" />
Run Code Online (Sandbox Code Playgroud)

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

  • 完全符合System.Web.Mvc.HiddenInput或添加命名空间. (7认同)
  • @gerdi您可能希望单独保留视图(.cshtml)并仅通过模型属性控制输出.或者您可能希望使用@ Html.EditorForModel(),在这种情况下,您不会编写Razor代码,因此您需要该属性. (3认同)
  • 是否有任何理由不在视图中使用html助手`@ Html.hiddenfor(_ => _.FOO)`? (2认同)