Sto cercando di separare tutte le cose che potrei riutilizzare nelle sezioni, quindi sarebbe più facile per me mantenere.Il file "~/Views/Position/Edit.cshtml" non può essere richiesto direttamente perché chiama il metodo "RenderSection"
Tuttavia ho avuto questa eccezione: Il file "~/Vista/Ruolo/Edit.cshtml" non può essere richiesto direttamente perché chiama il metodo "RenderSection"
ho creato un file chiamato sections.cshtml con la seguente contenuto:
@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>
}
E nel file _layout.cshtml ho cambiato in:
<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>
Quando vado alla vista nel browser e controlla il codice sorgente che mostra solo:
<head>
<meta charset="utf-8" />
<title>Edit</title>
<link href="/Content/Site.css" rel="stylesheet" type="text/css" />
</head>
Perché non basta mettere gli script nel file di layout? – samack
solo cercando di imparare come usare le sezioni in mvc, ma sì questa è anche un'opzione, ma che dire se alcuni script saranno usati su alcune viste e altri script in altre viste? Le sezioni risolverebbero questo problema, ma il file di layout non lo risolverebbe, giusto? –
Sbarazzati di @RenderSection e inserisci gli script in ... è il punto del file di layout per archiviare queste cose che sono comuni nella maggior parte delle tue pagine. – samack