Asp Mvc使用Ajax返回部分视图不起作用

时间:2011-05-17 14:15:52

标签: c# asp.net asp.net-mvc-3

我正在使用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而是返回页面中的代码?

1 个答案:

答案 0 :(得分:6)

您引用了哪些JS文件?在ASP.NET MVC3中,他们将AJAX功能从MicrosoftMvcAjax.js更改为jquery.unobtrusive-ajax.js,因此如果您还没有这样做,请参考后者。

同时验证web.config文件中的“UnobtrusiveJavaScriptEnabled”键是否设置为“true”

相关问题