Asp Mvc вернуть частичное представление с Ajax не работает - PullRequest
5 голосов
/ 17 мая 2011

Я использую MVC3 (Razor) с открытым исходным кодом здесь . Код вызова при нажатии кнопки контроллера, который имеет этот код:

  [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); 

  }

Это должно вернуть PartialView с именем «ListUsersTable». Он возвращает «ListUsersTable», но как целую страницу вместо замены DIV.

Вот код в представлении:

   <div id="listUserToBeUpdated">
       @Html.Partial("ListUsersTable", Model)
   </div>

Кнопка внутри ListUsersTable для вызова Ajax выглядит так:

   <div class="pager">
      @Ajax.Pager(Model.PageSize, Model.PageNumber, Model.TotalItemCount, "ListUsers", new AjaxOptions { UpdateTargetId = "listUserToBeUpdated" })
   </div>

Есть идеи, почему код не заменяет DIV, а вместо этого возвращает код на странице?

1 Ответ

6 голосов
/ 17 мая 2011

На какие JS-файлы вы ссылались? В ASP.NET MVC3 они изменили функциональность AJAX с MicrosoftMvcAjax.js на jquery.unobtrusive-ajax.js, поэтому обратитесь к последнему, если вы этого еще не сделали.

Также убедитесь, что ключ "UnobtrusiveJavaScriptEnabled" в файле web.config имеет значение "true"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...