如何从一个区域路由到另一个区域?
在默认项目中,没有区域,但是一旦添加区域,我如何从默认主页重定向到新区域内的页面?
我没有看到一个RedirectTo *方法,它在任何地方都带有一个Area名称的参数。 除非我完全错过了Area的观点?
答案 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。