我试着用一个按钮提交表单,一切正常(控制器是通话,POST工作正常)。然后我在它旁边添加一个复选框,当我单击它时,它会返回一个空白页面,其上只有复选框。 我正在使用:
<script src="@Url.Content("~/Scripts/jquery-1.4.4.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusiveajax.js")"type="text/javascript"></script>
我的部分观点(我使用局部视图):
Index.cshtml:
<td id="ProjectFieldset">
@Html.Partial("_ProjectSelect")
</td>
_ProjectSelect.cshtml:
@using (Ajax.BeginForm("test", "Project", new AjaxOptions() { InsertionMode = InsertionMode.Replace, UpdateTargetId = "ProjectFieldset" }))
{
<td>
@Html.CheckBox("ckboxItem", true , new {onchange="this.form.submit();"})
<input type="submit" value="allo" id="allo" />
</td>
}
控制器:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult test(bool ckboxItem)
{
ViewData["projects"] = db.Projects;
return PartialView("_ProjectSelect");
}
这只是我代码的一部分。没有HTML错误。 因此,复选框和按钮显示良好,按下按钮,一切正常。当我单击该复选框时,它会进入控制器,但之后会显示一个空白页面。这里有任何帮助??? THKS。
答案 0 :(得分:1)
替换:
<script src="@Url.Content("~/Scripts/jquery.unobtrusiveajax.js")"type="text/javascript"></script>
使用:
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")"type="text/javascript"></script>
请注意您的jquery.unobtrusive-ajax.js
脚本名称中的拼写错误。
jquery 1.4.4
现在还有点老了。我建议你使用更新的版本。