我在服务器端有一个代码:
@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 会呈现这样的隐藏字段?
- 如果隐藏字段不是必需的。我怎样才能摆脱它?我认为最好只
"true"
为Request["RememberMe"]
.
谢谢