我在文件Shared/_Header.cshtml中有一些簡單的<header>
東西。asp.net mvs部分/部分內的部分?
我的共享/ _Layout.cshtml插入的代碼通過調用
@Html.Partial("_Header")
這工作得很好至今。
現在我有一些意見,除了通過@RenderBody()
正常輸出,還應該在標題中的特定位置添加一些圖標。
我在幾個視圖中使用@RenderSection()
,創建一個側邊欄等
現在我的想法是創造我的觀點(例如家庭/ Details.cshtml)內的部分和RenderSection
添加調用_Header。佈局會調用標題,並且標題反過來會查看該部分是否存在並調用它。
但是,這似乎並不奏效。我得到以下錯誤/例外:
The file "~/Views/Shared/_Header.cshtml" cannot be requested directly because it calls the "RenderSection" method.
哪裏有我的錯誤?我知道我可以在部分內「嵌套」部分調用。此代碼工作得很好,告訴佈局使用什麼文件邊欄:
@section Sidebar{
@Html.Partial("_SidebarDetails")
}
這豈不工作過來呢?
我需要在視圖內部定義HTML塊,然後將其放入由佈局調用的部分內的預定義位置。
請幫我理解如何做到這一點。
感謝您提供詳細的答案和可能的解決方案。它幫助我瞭解了很多。 – Kodekan