2011-06-23 255 views
3

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

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

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

回答

3

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

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

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

0

此代码在您的视图将您链接到管理区,无论哪个领域,你目前在:

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

例如(差由例子)

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

在通话的最后空相当于HtmlAttributes,我通常把它作为空。