#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-адреса сортировки должны работать правильно.