在网站的每个链接上设置默认区域 - 避免`,new {area =""}`

Fit*_*aki 9 .net asp.net-mvc asp.net-mvc-areas

此代码位于母版页内:

<li><a href="<%=Url.Action("Action", "Controller") %>">Main site link</a></li>
<li><a href="<%=Url.Action("AreaAction", "AreaController", new {area = "Area"}) %>">Area link</a></li>
Run Code Online (Sandbox Code Playgroud)

所有的链接都很好,直到我去区域链接.当我去那里时,主要区域的所有路线都不起作用.

为了解决这个问题,我可以使用它:

<li><a href="<%=Url.Action("Action", "Controller", new {area = ""}) %>">Main site link</a></li>
Run Code Online (Sandbox Code Playgroud)

我的问题是,有没有办法避免, new {area = ""}在主站点的每个链接?

在网站的每个链接上都有这个非常烦人.

Rus*_*ngs 10

网址操作与链接的位置有关.因此new {area = ""},不告诉Url.Action调用没有区域,它告诉它使用根区域.如果省略new {area = ""}Url.Action调用,它将尝试为当前区域内的指定控制器中的指定操作创建一个url (在您的情况下为"Area").

因此,如果要从子区域链接到根区域,则不可避免.