2013-10-29 49 views
0

UPDATE:看起來像「數據-VAL =渲染輸入場的‘真’屬性導致錯誤的 Html.CheckBoxFor()生成此HTML複選框不使用Ajax和jQuery工作1.10.2

<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"> 

如果我使用,我認爲,確切的代碼,但刪除了「數據-VAL =‘真’」屬性,它工作正常。


我正在嘗試提交使用Ajax表單時JavaScript錯誤.BeginForm()在MVC 4和jquery 1.10.2中。問題似乎是由checkbox輸入引起的,be因爲如果我刪除複選框輸入字段,它工作正常。它也工作正常,如果我使用jQuery 1.8.3。

未捕獲的SyntaxError:意外的標記ü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) 
} 
+0

您是否嘗試過使用'isChecked'parameter在'Html.CheckBox'幫手,而不是'htmlAttributes'參數? – developer10214

+0

我試過Html.CheckBox(「RememberMe」,true)和@ Html.CheckBoxFor(m => m.RememberMe,new {@checked =「checked」}),並且都不起作用。 –

+0

爲什麼不在生成'LoginModel'的控制器的GET操作中將'RememberMe'設置爲'true'? –

回答

0

拉昇URL添加ValidationMessageFor

@Html.ValidationMessageFor(m => m.RedirectUrl)