ASP.NET obszary MVC ze współdzielonym układem
Zdefiniowałem obszar (Admin) w moim ASP.NET aplikacja MVC 3, utworzona _ViewStart.cshtml
w tym obszarze i dodanaLayout = "~/Views/Shared/_Layout.cshtml";
do niej, aby mieć jednolity układ strony.
Dodałem również następujący kod do _Layout.cshtml
:
if (HttpContext.Current.User.IsInRole("Admin"))
{
<li>@Html.ActionLink("Items List", "Index", "Items", new { area = "Admin" }, null)</li>
}
Obszar Admin
jest wyświetlany prawidłowo mając _Layout.cshtml
jako swój układ. Ale wszystkie linki nawigacyjne na stronie wskazują teraz na podfolder Admin
.
Na przykład w moim układzie mam <li>@Html.ActionLink("About Us", "About", "Home")</li>
, co wskazuje na Mysite/Home/About
. Ale po kliknięciu w link administratora, " O nas" link wskazuje na /Admin/Home/About
.
Co powinienem zrobić, aby mieć _Layout.linki cshtml wskazujące na właściwy adres?
Dzięki.
1 answers
Po prostu określ dla nich pusty obszar, jeśli mają być obsługiwane z kontrolerów root:
<li>@Html.ActionLink("About Us", "About", "Home", new { area = "" }, null)</li>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-19 21:41:59