【问题标题】:Asp.Net Mvc Hidden Field from Data Annotations来自数据注释的 Asp.Net Mvc 隐藏字段
【发布时间】:2011-05-31 09:19:25
【问题描述】:

我认为这将是在谷歌上快速搜索,但也许我错过了一些东西。有没有办法使用 Data Annotations 设置 ViewModel 属性以在渲染标记时创建 HiddenInput?

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

【问题讨论】:

    标签: asp.net asp.net-mvc data-annotations


    【解决方案1】:

    这个属性:

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

    将呈现为即

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

    当使用Html.EditorForModel()Html.EditorFor(m =&gt; m.Id)

    【讨论】:

    • 使用 System.Web.Mvc.HiddenInput 完全限定或添加命名空间。
    • 谢谢,除了 Id 属性,它运行良好。我不知道为什么,当然我的代码中完全没有 Id 属性的验证属性。
    • 有什么理由不在视图中使用html帮助器@Html.hiddenfor(_ =&gt; _.FOO)
    • @gerdi 您可能希望单独保留视图(.cshtml)并仅通过模型属性控制输出。或者您可能希望使用 @Html.EditorForModel() 在这种情况下您不编写 Razor 代码,因此您需要该属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多