MVC @RenderSection «les sections ont été définies mais n’ont pas été rendues» par des scripts. Lorsque plusieurs niveaux de page

Je travaille avec MVC v4.
J’ai une page ‘_BootstrapLayout’ qui définit tout le contenu de Twitter bootstrap etc, une page principale qui définit la présentation du site, la barre de navigation, etc.

_BootstrapLayout.cshtml

_MainPage.cshtml @ {Layout = “~ / Views / Shared / _BootstrapLayout.cshtml”; }

Index.cshtml @ {Layout = “~ / Views / Shared / _MainPage.cshtml”;}

So Master Page -> Page principale -> Page (s) du site

La page _BootstrapLayout contient une section de rendu pour les scripts

@RenderSection("scripts", required: false) 

Je souhaite append une section de scripts à la page Index.cshtml, mais j’obtiens l’exception.

 @section scripts {  $(document).ready(function () { ... });  } 

Les sections suivantes ont été définies mais n’ont pas été rendues pour la page de présentation “~ / 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 express la section (c’est-à-dire que je supprime}), j’obtiens une erreur indiquant que la section est incorrecte. L’parsing de la section dans _MainPage est donc effectuée.

Comment puis-je obtenir @RenderSections pour que les scripts des pages du site fonctionnent 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 {  }