ASP MVC Razor Render частично не найдет правильные детали маршрута - PullRequest
0 голосов
/ 20 ноября 2011

Я пытаюсь запустить @{ Html.RenderAction("List", "Template"); } в родительском представлении.

Мой родительский просмотр сопоставляется с контроллером = EmailTemplateHost Action = Index

Который я зарегистрировал, используя:

routes.MapRoute(
            "TemplateIndex",
            "Template",
            new { controller = "EmailTemplateHost", action = "Index" }
        );

Шаблон / Список должен соответствовать контроллеру = действие EmailTemplateList = Список

, который я зарегистрировал, используя:

routes.MapRoute(
            "TemplateList",
            "Template/List",
            new { controller = "EmailTemplateList", action = "List" }
        );

Все маршруты находятся в RouteTable.Однако при рендеринге моей страницы индекса, когда она попадает в действие RenderAction, она обращается к фабрике контроллеров Windsor, запрашивая имя контроллера Template, а не EmailTemplateList.Кажется, что он не проходит через механизм маршрутизации.Если я смотрю в контексте запроса, значения данных маршрута показывают Template и List в словаре, но не отображают отображение, мне требуется найти правильный контроллер.

О да, если я использую @{ Html.RenderAction("List", "EmailTemplateList"); }

Это работает!

Есть мысли?

Спасибо, Джонатан.

1 Ответ

0 голосов
/ 20 ноября 2011

Поместите второй маршрут TemplateList выше маршрута TemplateIndex в вашем global.asax.

...