0

我尝试使用按钮提交我的表单并且一切正常(控制器被调用并且 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 错误。因此,复选框和按钮显示良好,按下按钮时,一切正常。当我单击复选框时,它会进入控制器,但在那之后,它会显示一个空白页面。这里有什么帮助吗???谢谢。

4

1 回答 1

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有点老了。我建议您使用更新的版本。

于 2012-07-19T06:04:21.980 回答