我正在使用Paging open source code here的MVC3(Razor)。点击具有此代码的Controller按钮时的代码调用:
[Authorize(Roles = SystemConstants.ROLE_ADMINISTRATOR)]
public ActionResult ListUsers(int? page)
{
int currentPageIndex = page.HasValue ? page.Value - 1 : 0;
var products = userToDisplay.ToPagedList(currentPageIndex, 5);
return PartialView("ListUsersTable", products);
}
这应该返回一个名为“ListUsersTable”的PartialView。它确实返回“ListUsersTable”但作为整个页面而不是替换DIV。
以下是视图中的代码:
<div id="listUserToBeUpdated">
@Html.Partial("ListUsersTable", Model)
</div>
用于执行Ajax调用的ListUsersTable内的按钮如下所示:
<div class="pager">
@Ajax.Pager(Model.PageSize, Model.PageNumber, Model.TotalItemCount, "ListUsers", new AjaxOptions { UpdateTargetId = "listUserToBeUpdated" })
</div>
知道为什么代码没有替换DIV而是返回页面中的代码?
答案 0 :(得分:6)
您引用了哪些JS文件?在ASP.NET MVC3中,他们将AJAX功能从MicrosoftMvcAjax.js更改为jquery.unobtrusive-ajax.js,因此如果您还没有这样做,请参考后者。
同时验证web.config文件中的“UnobtrusiveJavaScriptEnabled”键是否设置为“true”