Asp.net-Mvc
無法直接請求文件“~/Views/Position/Edit.cshtml”,因為它呼叫了“RenderSection”方法
我試圖將我可以在部分中重複使用的所有東西分開,這樣我維護起來會更容易。
但是我得到了這個異常:無法直接請求文件“~/Views/Position/Edit.cshtml”,因為它呼叫了“RenderSection”方法
我創建了一個名為sections.cshtml 的文件,其內容如下:
@section scripts{ <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> }在 _layout.cshtml 文件中,我將其更改為:
<head> <meta charset="utf-8" /> <title>@ViewBag.Title</title> <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> @RenderSection("scripts", required:false) @*<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>*@ </head>當我轉到瀏覽器中的視圖並檢查它只顯示的原始碼時:
<head> <meta charset="utf-8" /> <title>Edit</title> <link href="/Content/Site.css" rel="stylesheet" type="text/css" /> </head>
RenderSection 只能存在於佈局文件(即母版頁)中……其目的是允許您可以直接請求的頁面以佈局的各個部分為目標(佈局是所有選擇使用它的頁面共有的文件)並提供這些不同部分的內容。
如果您想將此部分分離為可在許多頁面上重複使用的內容,則應將其放在部分中並將 rendersection 呼叫替換為類似
@Html.Partial("Scripts")