Я пытаюсь реализовать динамическую навигацию внутри веб-проекта с использованием MVC4. Все мои динамические части проекта отображаются как частичные представления, отображаемые с контроллера. Теперь у меня есть ситуация, когда исходная страница ViewContext недоступна для расширения Pager внутри PartialView, Маршруты в пейджере отображаются как domain.controller.action? Pagesize = 20 & page = 2 вместо домена/about/presscenter/news? pagesize = 20 & страница = 2. Отладка страницы показывает, что я получил правильный ViewContext до I RenderAction, но когда он попадает на расширение Pager, он теряется. Где я ошибаюсь?Почему ViewContext после RenderAction Изменен PartialView? Маршрут потерян
1
A
ответ
0
My Pager принимает себя как параметр ViewContext, необходимый для метода UrlHelper.GenerateUrl(). Поэтому мне пришлось передать родительский ViewContext в пейджер:
@Html.Pager(Model.PagingFilteringContext, ViewContext.ParentActionViewContext)
Странно! Но «var url = UrlHelper.GenerateUrl (null, null, null, routeValues, RouteTable.Routes, viewContext.RequestContext, true); внутри моего пейджера удаляется последний сегмент URL-адресов, который он отображает, например domain/about/presscenter? pagesize = 20 & page = 2 вместо домена/about/presscenter/news? pagesize = 20 & page = 2. – Roman