J'ai défini une zone (Admin) dans mon application ASP.NET MVC 3, créé _ViewStart.cshtml
Dans cette zone et y ajouté Layout = "~/Views/Shared/_Layout.cshtml";
Pour avoir une disposition de site unifiée.
J'ai également ajouté le code suivant à _Layout.cshtml
:
if (HttpContext.Current.User.IsInRole("Admin"))
{
<li>@Html.ActionLink("Items List", "Index", "Items", new { area = "Admin" }, null)</li>
}
La zone Admin
s'affiche correctement avec _Layout.cshtml
Comme disposition. Mais tous les liens de navigation de la page pointent désormais vers le sous-dossier Admin
.
Par exemple, dans ma mise en page, j'ai <li>@Html.ActionLink("About Us", "About", "Home")</li>
, qui pointe vers Mysite/Home/About
. Mais après avoir cliqué sur le lien administrateur, le lien "À propos de nous" pointe vers /Admin/Home/About
.
Que dois-je faire pour que les liens _Layout.cshtml pointent vers la bonne adresse?
Merci.
Spécifiez simplement une zone vide pour eux s'ils doivent être servis à partir des contrôleurs racine:
<li>@Html.ActionLink("About Us", "About", "Home", new { area = "" }, null)</li>