Care este scopul de @RenderSection și cum funcționează? Am înțeles ce pachete, dar trebuie încă să dau seama ce este acest lucru nu și-l's, probabil, importante.
@RenderSection("scripts", required: false)
Poate un mic exemplu despre cum să-l folosească?
Dacă aveți un _Layout.cshtml vedere ca acest
<html>
<body>
@RenderBody()
@RenderSection("scripts", required: false)
</body>
</html>
apoi, puteți avea un index.cshtml conținutul vedere ca acest
@section scripts {
<script type="text/javascript">alert('hello');</script>
}
la required indică dacă este sau nu punctul de vedere folosind layout-ul paginii trebuie să aibă secțiunea de scripturi
Dacă
(1) ai o _Layout.cshtml vedere ca acest
<html>
<body>
@RenderBody()
</body>
<script type="text/javascript" src="~/lib/layout.js"></script>
@RenderSection("scripts", required: false)
</html>
(2) aveți Contacte.cshtml
@section Scripts{
<script type="text/javascript" src="~/lib/contacts.js"></script>
}
<div class="row">
<div class="col-md-6 col-md-offset-3">
<h2> Contacts</h2>
</div>
</div>
(3) aveți Despre.cshtml
<div class="row">
<div class="col-md-6 col-md-offset-3">
<h2> Contacts</h2>
</div>
</div>
Pe aspect pagină, dacă este necesar este setat la false "@RenderSection("script", este necesar: false)", atunci Când pagina face și utilizator este pe cale pagină, contacts.js nu't face.
<html>
<body><div>About<div>
</body>
<script type="text/javascript" src="~/lib/layout.js"></script>
</html>
dacă este necesar este setat la true "@RenderSection("script", este necesar: adevărat)", atunci Când pagina face și utilizator este pe CALE pagină, contacts.js ÎNCĂ se prestate.
<html>
<body><div>About<div>
</body>
<script type="text/javascript" src="~/lib/layout.js"></script>
<script type="text/javascript" src="~/lib/contacts.js"></script>
</html>
Pe SCURT, când este setat la adevărat, dacă aveți nevoie de ea sau nu pe alte pagini, se va obține prestate oricum. Dacă este setat la fals, se va face numai atunci când copilul pagină este redat.
Aici defination de Rendersection de la MSDN`
În pagini de layout, redă conținutul unui nume secțiune.[MSDN][1]
În _layout.cs pagina de pus
@RenderSection("Bottom",false)
Aici a randa conținutul de bootom secțiune și specifică "false" boolean proprietate pentru a specifica dacă secțiunea este necesară sau nu.
@section Bottom{
This message form bottom.
}
Asta înseamnă, dacă vrei să-secțiunea inferioară în toate paginile, atunci trebuie să utilizați fals ca al doilea parametru la Rendersection metodă. [1]: https://msdn.microsoft.com/en-us/library/system.web.webpages.webpagebase.rendersection(v=vs. 99)