我有服务器端代码:为什么Html.EditorFor呈现隐藏字段?
@Html.EditorFor(m => m.RememberMe)
RememberMe
是我的模型的布尔字段。 而呈现的HTML:
<input class="check-box" data-val="true" data-val-required="The Remember Me ? field is required." id="RememberMe" name="RememberMe" type="checkbox" value="true" />
<input name="RememberMe" type="hidden" value="false" />
有具有相同name="RememberMe"
隐藏字段。我不知道为什么,这个隐藏领域的目的是什么。
当我在服务器端调试复选框时,模型已正确映射。我得到了:myModel.RememberMe = true
。但是当我检查了Request["RememberMe"]
。我看到了"true,false"
。 false
必须来自隐藏字段,因为它们具有相同的名称。
我的问题是:
-
请问
- 的
false
导致问题? - 为什么asp.net mvc呈现这样的隐藏字段?
- 如果隐藏字段不是必需的。我怎样才能摆脱它?我认为最好只为
Request["RememberMe"]
获得"true"
。
谢谢
我认为这是回答[这里](http://stackoverflow.com/questions/11011300/asp-net-mvc-3-checkboxfor-method-outputs-hidden-field-that - 隐藏字段值) – bazz
@bazz:感谢您的链接。 –