我有服務器端代碼:爲什麼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:感謝您的鏈接。 –