Asp.net-Mvc-3

具有共享佈局的 ASP.NET MVC 區域

  • October 19, 2011

我在我的 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 連結指向正確的地址?

謝謝。

如果要從根控制器提供服務,只需為它們指定一個空白區域:

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

引用自:https://stackoverflow.com/questions/7828525