0
我有一个简单的登录表单,这我通过剃刀呈现这样的 -剃刀产生两个输入标签相同的元素
<div class="row">
@Html.TextBoxFor(m => m.EMail, htmlAttributes: new { @class = "form-control", placeholder = "E-Mail" })
@Html.PasswordFor(m => m.Password, htmlAttributes: new { @class = "form-control", placeholder = "Password" })
@Html.CheckBoxFor(m => m.RememberMe, htmlAttributes: new {@class = "form-control", value="1", @checked = "1"})
<input type="button" class="btn btn-sm btn-primary" id="signinbutton" value="Sign In" />
</div>
它渲染页面正确的,但是当我尝试序列化,这是输出 -
EMail=Sam&Password=sam&RememberMe=1&RememberMe=false
RememberMe
被序列化两次以上。
当我挖成生成html,产生输入字段的两倍 -
<input checked="1" data-val="true" data-val-required="The RememberMe field is required." id="RememberMe" name="RememberMe" type="checkbox" value="1">
<input name="RememberMe" type="hidden" value="false">
它看起来很奇怪。我不知道为什么会发生这种情况。有任何想法吗?
虽然我仍然很困惑,为什么这必须是这样的,我已经添加了我的自定义函数来序列化窗体。谢谢。 – Sam 2014-11-22 13:31:29