ASP MVC Razor渲染部分未找到正确的路线详细信息

时间:2011-11-20 16:04:38

标签: asp.net-mvc-3 asp.net-mvc-routing

我正在尝试在父视图中运行@{ Html.RenderAction("List", "Template"); }

我的父视图映射到controller = EmailTemplateHost Action = Index

我已注册使用:

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

模板/列表应映射到controller = EmailTemplateList action = List

我已注册使用:

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

所有路线都在RouteTable中。然而,在点击RenderAction时渲染我的索引页面时,它会命中Windsor Controller Factory,询问模板的控制器名称而不是EmailTemplateList。好像它不是通过路由引擎。如果我查看请求上下文,路由数据值在字典中显示模板和列表,但它没有显示我找到正确控制器所需的映射。

哦,是的,如果我使用@{ Html.RenderAction("List", "EmailTemplateList"); }

有效!

有什么想法吗?

感谢Jonathan。

1 个答案:

答案 0 :(得分:0)

将第二个路径TemplateList放在global.asax中的TemplateIndex路径上方。