route netcore net mvc attribute asp asp.net-mvc-3 asp.net-mvc-routing asp.net-mvc-areas

asp.net mvc 3 - netcore - ASP.NET MVC Áreas con diseño compartido



route controller c# (1)

_ViewStart.cshtml un área (Admin) en mi aplicación ASP.NET MVC 3, creé _ViewStart.cshtml en esa área y agregué Layout = "~/Views/Shared/_Layout.cshtml"; para que tenga un diseño de sitio unificado.

También agregué el siguiente código a _Layout.cshtml :

if (HttpContext.Current.User.IsInRole("Admin")) { <li>@Html.ActionLink("Items List", "Index", "Items", new { area = "Admin" }, null)</li> }

El área de Admin se muestra correctamente con _Layout.cshtml como su diseño. Pero todos los enlaces de navegación en la página ahora apuntan a la subcarpeta Admin .

Por ejemplo, en mi diseño tengo <li>@Html.ActionLink("About Us", "About", "Home")</li> , que apunta a Mysite/Home/About . Pero después de hacer clic en el enlace de administración, el enlace "Acerca de nosotros" apunta a /Admin/Home/About .

¿Qué debo hacer para que los enlaces _Layout.cshtml apunten a la dirección correcta?
Gracias.


Simplemente especifique un área en blanco para ellos si se van a servir desde los controladores raíz:

<li>@Html.ActionLink("About Us", "About", "Home", new { area = "" }, null)</li>