ASP.net MVC - 共享部分视图在不同区域间

8
有没有一种方法可以在不同区域之间共享部分Razor视图?
例如登录部分,如果我使用@Html.Partial("_LoginPartial")就可以找到它,但是Html.ActionLink生成的URL仅限于调用区域(即使该部分本身不是区域的一部分)。
_LoginPartial.cshtml is in /Views/Shared/_LoginPartial.cshtml
Calling view is inside /Areas/Somearea/Views

Links generated are like: http://example.com/Somearea/Account/Login
But should always be: http://example.com/Account/Login

局部视图源代码:

@if(Request.IsAuthenticated) {
    <text>Welcome <b>@Context.User.Identity.Name</b>!
    [ @Html.ActionLink(@Messages.Logout, "Logout", "Account") ]</text>
}
else {
    @:[ @Html.ActionLink(@Messages.Login, "Login", "Account") ]
}

谢谢

1个回答

9
您可以在ActionLink()方法中指定区域(或缺少区域):
Html.ActionLink(@Messages.Logout, "Logout", "Account", new { Area = "" }, new{})

这将确保链接不会解析到当前区域内的URL。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接