Asp.net mvc 3 Razor为什么将验证属性放在@Html.Hiddenfor()助手中?

Asp.net mvc 3 Razor为什么将验证属性放在@Html.Hiddenfor()助手中?,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,这没有任何意义,有没有办法让这件事不这样做? 为了 我明白了 <input type="hidden" value="e62fceab-588c-4777-bfe9-8516425a5028" name="Id" id="Id" data-val-required="The Id field is required." data-val="true"> MVC将自动向所有非空可选项字段添加所需的验证。如果您不喜欢这样,那么可以将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">


MVC将自动向所有非空可选项字段添加所需的验证。如果您不喜欢这样,那么可以将id设置为空。

这只是服务器端保护的附加层。在中间工具如Fiddler中改变一个输出隐藏的输入是微不足道的。p>
至于让它成为可选的,几乎肯定有一个数据属性。或者,在模型中的属性名称后添加一个问号就可以了。

为什么MVC会在那里添加验证属性?
<input type="hidden" value="e62fceab-588c-4777-bfe9-8516425a5028" name="Id" id="Id" data-val-required="The Id field is required."  data-val="true">