Asp.net-Mvc
MVC Razor @section 不理解腳本
我有:
- 對比 2013
- MVC 5.2.2
- 剃刀 3.2.2
如果您還有其他需要知道的,請告訴我。
此問題僅發生在一個視圖頁面上。
我有一個所有 HTML 標記都正確關閉的視圖
這是你的標準觀點…
@model MyNameSpace.Models.Inquiry @{ var hasFormSetup = Model != null && Model.FormSetup != null && Model.FormSetup.Count > 0; if (hasFormSetup) { ViewBag.Title = Model.FormSetup[0].InquiryValue; } Layout = "~/Views/Shared/_LayoutInquiry.cshtml"; } <style scoped> ul { list-style-type: none; } </style> @using (Html.BeginForm()) { @Html.AntiForgeryToken() <div class="container" style="margin-top: 5px;"> etc... </div> <div class="container" > etc... </div> } @section Scripts { <script type="text/javascript"> $(document).ready(function () { etc... }); </script> }但…
線上上
@section ScriptsResharper 報告:“無法解析部分腳本”
當我執行時,我得到了異常:
Source: System.Web.WebPages Target: Void VerifyRenderedBodyOrSections() Type: HttpException Message: The following sections have been defined but have not been rendered for the layout page "~/Views/Shared/_LayoutInquiry.cshtml": "Scripts". Stack: at System.Web.WebPages.WebPageBase.VerifyRenderedBodyOrSections() at System.Web.WebPages.WebPageBase.PopContext() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) at System.Web.WebPages.WebPageBase.<>c__DisplayClass3.<RenderPageCore>b__2(TextWriter writer) at System.Web.WebPages.HelperResult.WriteTo(TextWriter writer) at System.Web.WebPages.WebPageBase.Write(HelperResult result) at System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action`1 body) at System.Web.WebPages.WebPageBase.PopContext() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) etc...沒有其他頁面有這個問題。
關於如何解決這個問題的任何想法?
異常消息說:
以下部分已定義但尚未為佈局頁面“~/Views/Shared/_LayoutInquiry.cshtml”呈現:“腳本”。
這表明您的
_LayoutInquiry.cshtml頁面沒有為Scripts部分設置佔位符。您可以通過@RenderSection("Scripts", false)在適當的位置添加到您的佈局頁面來做到這一點,其中false表示視圖可以選擇提供此部分。現在,當您的視圖呈現時,視圖中的內容
@section Scripts { ... }將呈現到@RenderSection("Scripts", false)佈局頁面中呼叫的位置。