Области ASP.NET MVC с общим макетом

Я определил область (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.

Например, в моем макете есть

  • @Html.ActionLink("О нас", "О", "Главная")
  • , который указывает на Mysite/Home/About. Но после нажатия на ссылку администратора ссылка "О нас" указывает на /Admin/Home/About.

    Что нужно сделать, чтобы ссылки _Layout.cshtml указывали на правильный адрес?
    . Спасибо.

    39
    задан Kamyar 6 March 2013 в 20:23
    поделиться