MVC3 Ajax - 提交复选框以返回一个带有复选框的空白页面

时间:2012-07-19 06:02:04

标签: javascript ajax asp.net-mvc-3 forms checkbox

我试着用一个按钮提交表单,一切正常(控制器是通话,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。

1 个答案:

答案 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现在还有点老了。我建议你使用更新的版本。