MVC 3路由到区域

时间:2011-06-23 11:38:10

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

如何从一个区域路由到另一个区域?

在默认项目中,没有区域,但是一旦添加区域,我如何从默认主页重定向到新区域内的页面?

我没有看到一个RedirectTo *方法,它在任何地方都带有一个Area名称的参数。 除非我完全错过了Area的观点?

2 个答案:

答案 0 :(得分:3)

在我们的视图中,我们不需要在生成时指定区域路径数据值 链接到该区域内的其他控制器操作。我们只提供操作名称,因为控制器和区域名称将来自当前请求的现有路径数据。如果我们想要链接到外部区域,我们需要明确提供该路线数据。

return RedirectToAction("yourAction", "YourController", new { area = "yourArea" });

“area”路由值需要与AreaRegistration类中使用的AreaName匹配才能正确生成URL。

答案 1 :(得分:0)

您的视图中的此代码会将您链接到管理区域,无论您当前在哪个区域:

@Html.ActionLink("Click Me", "ActionName","ControllerName",new { Area = "AreaName"}, null )

e.g。 (做得不好的例子)

@Html.ActionLink("Administer User", "Home","UserAdmin",new { Area = "Admin"}, null )

调用中的最后一个null对应HtmlAttributes,我通常将其保留为null。