为什么Razor将验证属性放在@Html.Hiddenfor()帮助器中?

时间:2012-07-23 13:02:00

标签: asp.net-mvc-3 razor

它没有任何意义,反正是为了让这不以这种方式行事? 对

@Html.HiddenFor(model=>model.Id)

我得到了

<input type="hidden" value="e62fceab-588c-4777-bfe9-8516425a5028" name="Id" id="Id" data-val-required="The Id field is required."  data-val="true">

2 个答案:

答案 0 :(得分:1)

MVC会自动将所需的验证添加到所有不可归零的字段。如果您不喜欢这样,那么您可以使您的ID无效。

答案 1 :(得分:0)

这只是服务器端保护的另一层。使用像Fiddler这样的中间工具中的人来改变传出的隐藏输入是微不足道的。

至于使它成为可选项,几乎肯定有一个数据属性。或者,在模型中的属性名称后添加问号也应该这样做。