Я определил область (Admin) в моем приложении ASP.NET MVC 3, создал _ViewStart.cshtml
в этой области и добавил Layout = "~/Views/Shared/_Layout.cshtml";
к ней, чтобы иметь унифицированный макет сайта.
Я также добавил следующий код в _Layout.cshtml
:
if (HttpContext.Current.User.IsInRole("Admin"))
{
<li>@Html.ActionLink("Items List", "Index", "Items", new { area = "Admin" }, null)</li>
}
Область Admin
отображается правильно с _Layout.cshtml
в качестве ее макета. Но все навигационные ссылки на странице теперь указывают на подтекст Admin
.
Например, в моем макете есть <li>@Html.ActionLink("About Us", "About", "Home")</li>
, который указывает на Mysite/Home/About
. Но после нажатия на ссылку администратора ссылка "О нас" указывает на /Admin/Home/About
.
Что мне делать, чтобы иметь ссылки _Layout.cshtml, указывающие на правильный адрес?
Спасибо.