Asp.net-Mvc-4
在局部視圖中使用部分
在我的共享佈局中,我希望有一個“腳本”部分來填充頁面功能所需的所有腳本。
佈局.cshtml
<html> <head> <title>Test</title> <script src="@Url.Content("~/Scripts/jquery-2.0.3.js")" type="text/javascript"> </script> @RenderSection("Scripts", required: false) </head> <body> @RenderBody() </body> </html>所以,我的視圖載入了一個特定的 javascript,我希望它位於“腳本”部分,並且它正在工作。
索引.cshtml
@model PlatformaPu.Areas.Inventura.Models.Home.Index @section Scripts { <script src="@Url.Content("~/Areas/Inventura/Scripts/Home/Index.js")" type="text/javascript"></script> } {CONTENT REMOVED FOR BREVITY} @section Footer { @Html.Partial("~/Views/Shared/_AppSelector.cshtml", Model.AppSelector) }最後,我的視圖呈現了一個部分,並且我有一個該部分載入的 javascript。
_AppSelector.cshtml
@model PlatformaPu.Models.Shared._AppSelector @section Scripts { <script src="@Url.Content("~/Scripts/Shared/_AppSelector.js")" type="text/javascript"></script> } {CONTENT REMOVED FOR BREVITY}…這不起作用- javascript 標記未在“腳本”部分呈現
我怎樣才能做到這一點?
正如在這個問題中所討論的,不能在局部視圖中使用部分:
部分在局部視圖中不起作用,這是設計使然。您可以使用一些自定義助手來實現類似的行為,但老實說,包含必要的腳本是視圖的責任,而不是部分的責任。我建議您使用主視圖的 @scripts 部分來執行此操作,而不要讓部分擔心腳本。
您應該將腳本引用添加到引用部分的主視圖。