ASP.NET MVC Areas with shared layout
Simply specify a blank area for them if they are to be served from root controllers:
<li>@Html.ActionLink("About Us", "About", "Home", new { area = "" }, null)</li>
Comments
-
Kamyar about 4 years
I have defined an area (Admin) in my ASP.NET MVC 3 application, created
_ViewStart.cshtml
in that area and addedLayout = "~/Views/Shared/_Layout.cshtml";
to it to have a unified site layout.I also added the following code to
_Layout.cshtml
:if (HttpContext.Current.User.IsInRole("Admin")) { <li>@Html.ActionLink("Items List", "Index", "Items", new { area = "Admin" }, null)</li> }
The
Admin
area is displayed properly having_Layout.cshtml
as its layout. But all the navigation links in the page now point toAdmin
subfolder.For example in my layout I have
<li>@Html.ActionLink("About Us", "About", "Home")</li>
, which points toMysite/Home/About
. But after clicking the admin link, the "About Us" link points to/Admin/Home/About
.What should I do to have _Layout.cshtml links pointing to the right address?
Thanks.