如果应用程序被分组为区域,是否需要在操作链接上具有“区域”路由值?

2024-03-18

我有一个名为“UserProfile”的区域。 从它的索引视图中,我想从根控制器(非区域)调用一个操作。 我使用了 Html.ActionLink("Index", "Home")

当我运行应用程序时,生成的 url 是“/UserProfile/Home/Index”而不是“/Home/Index”。

Root
查看索引.aspx
控制器:应用程序/控制器/HomeController
路径:应用程序/视图/主页

Area
查看:Index.aspx
路径:应用程序/区域/用户配置文件/视图/用户
ActionLink: Html.ActionLink("索引", "主页")


是的,如果您正在从事的领域,您应该always指定一个Area in ActionLink链接,如果您不希望链接转到特定区域,则为空链接,如下所示:

Html.ActionLink("Home", "Index", "Home", new { Area = "" }, new { })

这是必需的,因为否则,如果您不指定Area,将使用用户当前所在的位置。

例如,如果您使用ActionLink没有指定Area在你的_Layout.cshtml页面,只要您保留在应用程序的根目录中,它就可以工作。从您进入某个区域的那一刻起,链接将生成为\currentArea\the_rest_of_the_link,因此,将不再起作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果应用程序被分组为区域,是否需要在操作链接上具有“区域”路由值? 的相关文章

随机推荐