Asp.net mvc 4 为什么Html.EditorFor呈现隐藏字段?
我在服务器端有一个代码:Asp.net mvc 4 为什么Html.EditorFor呈现隐藏字段?,asp.net-mvc-4,Asp.net Mvc 4,我在服务器端有一个代码: @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"
@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
。但是当我检查请求[“RememberMe”]
时。我看到了“真,假”
。false
必须来自隐藏字段,因为它们具有相同的名称
我的问题是:
是否会导致问题李>false
- 为什么asp.net mvc呈现这样一个隐藏字段
- 如果不需要隐藏字段。我怎样才能摆脱它?我认为对于
,最好只获取请求[“RememberMe”]
的“true”
谢谢错误会导致问题吗 false不会引起任何问题,但由于渲染为NOTNULL,这意味着您的REMEMBERM设置为bool而非NULABLE bull,因此如果未选中答案,则将为false 为什么asp.net mvc呈现这样一个隐藏字段 因为如果查看html,不能有两个值,即true或false,但由于null不是答案,因此添加了隐藏字段以保存false的值
value=“false”
如果不需要隐藏字段。我怎样才能摆脱它?我认为对于Request[“RememberMe”],最好只获取“true”。
除非您真的认为这是一个问题,否则您可能不得不编写自己的复选框帮助程序,因为据我所知,所使用的复选框帮助程序不会接受null able值作为输入。错误会导致问题吗 false不会引起任何问题,但由于渲染为NOTNULL,这意味着您的REMEMBERM设置为bool而非NULABLE bull,因此如果未选中答案,则将为false 为什么asp.net mvc呈现这样一个隐藏字段 因为如果查看html,不能有两个值,即true或false,但由于null不是答案,因此添加了隐藏字段以保存false的值
value=“false”
如果不需要隐藏字段。我怎样才能摆脱它?我认为对于Request[“RememberMe”],最好只获取“true”。
除非您真的认为这是一个问题,否则您可能不得不编写自己的复选框帮助程序,因为据我所知,所使用的复选框帮助程序将不接受可空值作为输入我认为这是@bazz:谢谢链接。我想这是@bazz:谢谢链接。您的意思是隐藏字段类似于默认值?您的意思是隐藏字段类似于默认值?