Pourquoi Asp.Net MVC 5 mettre @Scripts.Render(“~/bundles/jquery”) au bas de _Layout.cshtml?
J'ai mis <script>
qui bloque l'utilisation de jQuery dans le corps de l'un (et un seul) cshtml fichier qui utilise le modèle et ils provoque une erreur parce que jQuery n'est pas chargé.
Quel est le point de mettre la @Scripts.Render("~/bundles/jquery")
au bas de _Layout.cshtml fichier?
Le bas de la _Layout.cshtml
.
@RenderBody()
<hr />
<footer>
</footer>
</div>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
</body>
</html>
La figure suivante montre la source généré de la cshtml fichier.
<script>
$(document).ready(function () { ///$ not defined.
//.....
});
</script>
<hr />
<footer>
</footer>
</div>
<script src="/Scripts/jquery-1.10.2.js"></script>
<script src="/Scripts/bootstrap.js"></script>
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser les sections :
dans votre mise en page :
dans le vôtre cshtml :
Juste l'enfermer à l'intérieur de
section scripts
dans .cshtml Page, comme indiqué.Il est recommandé de charger vos fichiers javascript après chaque élément HTML.
Sachant cela, je mets en place votre document prêt gestionnaire d'après le chargement de tous les libs.
<script>
bloc dans une page (un cshtml fichier utiliser le modèle). Modifier laLayout.cshtml
affecte toutes les pages utilisant le modèle.Si le script est en haut de la page, et il y a des problèmes, alors il peut causer de la page d'arrêter ou de prendre un long temps de chargement. Les mettre au fond permet à la page de la rendre complètement avant de votre script se met au travail.