Je travaille avec MVC v4.
J'ai une page '_BootstrapLayout' qui définit tous les trucs Twitter bootstrap etc. .
_BootstrapLayout.cshtml
_MainPage.cshtml @ {Layout = "~/Views/Shared/_BootstrapLayout.cshtml"; }
Index.cshtml @ {Layout = "~/Views/Shared/_MainPage.cshtml";}
Page maître -> Page principale -> Page (s) du site
La page _BootstrapLayout contient une section de rendu pour les scripts
@RenderSection("scripts", required: false)
Je veux ajouter une section de scripts à la page Index.cshtml, mais quand je le fais, je reçois l'exception
@section scripts {
<script type="text/javascript">
$(document).ready(function () {
...
});
</script>
}
Les sections suivantes ont été définies mais n'ont pas été rendues pour la page de mise en page "~/Views/Shared/_MainPage.cshtml": "scripts".
J'ai donc ajouté un script @section vide au _MainPage.cshtml, toujours le même problème? Même si j'ajoute du code à la section des scripts _MainPage, j'obtiens toujours la même erreur. Peu importe où je mets la @section dans _MainPage, j'obtiens toujours la même erreur.
Si je ne ferme pas la section à dessein (c'est-à-dire que je supprime le}), j'obtiens une erreur qui indique que la section est incorrecte, elle analyse donc la section dans _MainPage.
Comment puis-je faire fonctionner @RenderSections pour les scripts sur les pages du site dans ce cas?
Vous devrez redéfinir la section dans _MainPage.cshtml
.
_BootstrapLayout.cshtml
@RenderSection("scripts", false)
_MainPage.cshtml
@section scripts
{
@RenderSection("scripts", false)
}
Index.cshtml
@section scripts
{
<script>
// etc.
</script>
}