Ajax.Проблема с Actionlink, частичная и веб-сеткой

#asp.net-mvc #asp.net-mvc-3 #webgrid

#asp.net-mvc #asp.net-mvc-3 #веб-сетка

Вопрос:

У меня следующая проблема.

Моя структура URL такая:

/ люди / редактировать /пользовательский код

В моем контроллере у меня есть следующее:

     [AcceptVerbs(HttpVerbs.Post)]
    public PartialViewResult LoanRefresh(string id)
    {
        PeopleModel p = new PeopleModel();
        return PartialView("_LoanHistory", p.getPersonLoanHistory(id));

    }
  

На мой взгляд, у меня есть:

 @Ajax.ActionLink("Refresh", "LoanRefresh", new { id = Model.IdentityCode }, new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "loanHistory", LoadingElementId = "Loading"  }, new { @class = "button" })
  

и

  <div id="loanHistory">
    @Html.Partial("_LoanHistory", Model.Loans)
 </div>
  

При запуске Ajax.ActionLink возвращает данные в порядке и обновляет div, но URL ссылок сортировки в веб-сетке затем изменяет их адрес на:

/ People/LoanRefresh/AFU0006?sort=CreatedOn amp;sortdir=ASC

мне нужно оставаться как:

/ People/Edit/AFU0006?sort=CreatedOn amp;sortdir=ASC

Мы были бы очень признательны за любую помощь.

Комментарии:

1. Вам удалось это решить? пожалуйста, опубликуйте свое обновление.

Ответ №1:

Ну, @Nick, это потому, что твое действие называется LoanRefresh, а не Обновить. Для этого вам, вероятно, придется выполнить некоторую маршрутизацию или даже перенаправить результаты LoanRefresh в действие с именем Refresh.

Комментарии:

1. Спасибо, Адриано, я подробнее рассмотрю маршрутизацию.

Ответ №2:

Попробуйте установить ajaxUpdateContainerId значение объекта, указанного в частичном представлении, а не объекта в представлении, из которого первоначально вызывалось частичное представление. Тогда URL-адреса сортировки должны работать правильно.