【发布时间】:2013-11-09 02:55:15
【问题描述】:
更新:看起来呈现的输入字段的“data-val='true'”属性会导致错误。 Html.CheckBoxFor() 生成这个 html
<input checked="checked" 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">
如果我在视图中使用该确切代码但删除“data-val='true'”属性,它可以正常工作。
尝试在 MVC 4 和 jquery 1.10.2 中使用 Ajax.BeginForm() 提交表单时出现 javascript 错误。问题似乎是由复选框输入引起的,因为如果我删除复选框输入字段,它工作正常。如果我使用 jquery 1.8.3,它也可以正常工作。
Uncaught SyntaxError: Unexpected token u jquery-1.10.2.js:550
有什么想法吗?
谢谢
下面是我使用的代码块
@using (Ajax.BeginForm("Login", "Account", FormMethod.Post, new AjaxOptions { UpdateTargetId = "loginForm" }))
{
@Html.AntiForgeryToken()
<fieldset>
<legend></legend>
<ol>
<li>
@Html.LabelFor(m => m.UserName)
@Html.TextBoxFor(m => m.UserName)<br />
@Html.ValidationMessageFor(m => m.UserName)
</li>
<li>
@Html.LabelFor(m => m.Password)
@Html.PasswordFor(m => m.Password)<br />
@Html.ValidationMessageFor(m => m.Password)
</li>
<li>
@Html.CheckBox("RememberMe", new { @checked = "checked" })
@Html.LabelFor(m => m.RememberMe, new { @class = "checkbox" })
</li>
</ol>
<input type="submit" value="Log in" id="loginSubmitButton" />
</fieldset>
<p>
@Html.ActionLink("Register", "Register") if you don't have an account.
</p>
@Html.HiddenFor(m=>m.RedirectUrl)
}
【问题讨论】:
-
您是否尝试过在
Html.CheckBox帮助器中使用isChecked参数,而不是htmlAttributes参数? -
我尝试了 Html.CheckBox("RememberMe",true) 和 @Html.CheckBoxFor(m => m.RememberMe, new { @checked = "checked" }),但都不起作用。跨度>
-
为什么不在生成
LoginModel的控制器的GET操作中将RememberMe设置为true? -
我最初尝试过,但也没有用
-
第 550 行是 window.JSON.parse(data),你对 json 做了什么吗?
标签: jquery ajax asp.net-mvc-4 checkbox