在我的網站上,我有一個部分(浮動邊欄),我只想渲染一個子集的用戶(管理員)。我希望我可以將邏輯放在主佈局中,以確定是否顯示該部分,但如果該部分未呈現,則會導致頁面上出現錯誤。如何在ASP.Net MVC 3中選擇性地渲染一個節?
示例代碼 - Layout.cshtml ...
... code ...
@if(user.IsAdmin) {
@RenderSection("AdminSidebar", false)
}
示例代碼 - MyPage.cshtml ...
@section AdminSidebar {
... code ...
}
有誰知道如何得到這個,而不必把工作所有子頁面中的邏輯?
作爲說明,IsSectionDefined(「AdminSidebar」)僅適用於佈局文件。它在頁面中不起作用以測試該部分是否可用。
聰明。我喜歡。我希望MVC框架忽略了沒有定義而不是拋出錯誤的部分,但是這允許我以我想要的方式定義部分。 – Brian
@Brian但是,爲什麼不使用rendermatte建議itsmatt,這是更清潔? – gdoron
因爲那麼我將不得不爲每個我想要添加邊欄的頁面創建一個部分(它是基於頁面的上下文)。 – Brian