Je souhaite inclure une référence javascript comme:
<script src="@Url.Content("~/Scripts/jqueryFoo.js")" type="text/javascript"></script>
Si j'ai une vue Razor, quelle est la bonne façon de l'inclure sans avoir à l'ajouter à la mise en page (je n'en ai besoin que dans une seule vue spécifique, pas toutes)
Dans aspx, nous pourrions utiliser des espaces réservés pour le contenu. J'ai trouvé des exemples plus anciens utilisant aspx dans mvc mais pas avec la vue Razor.
asp.net-mvc
razor
dferraro
la source
la source
Réponses:
Selon la façon dont vous voulez l'implémenter (s'il y avait un emplacement spécifique où vous vouliez les scripts), vous pourriez implémenter un
@section
dans votre_Layout
qui vous permettrait d'ajouter des scripts supplémentaires à partir de la vue elle-même, tout en conservant la structure. par exemple_Disposition
Vue
Sinon, ce que vous avez est très bien. Si cela ne vous dérange pas d'être "en ligne" avec la vue qui a été sortie, vous pouvez placer la
<script>
déclaration dans la vue.la source
RenderSection("Scripts")
à votre mise en page (comme vous le feriez pour un espace réservé), puis définir un@section Scripts {}
dans la vue. À un moment donné, une modification du "maître" (_layout) est imminente. Vous ne pouvez pas simplement définir quelque chose dans une vue et lui dire "placez-le entre<head>
pour moi" (sauf si vous voulez entrer dans un script qui ajoute un script)Scripts
dossier, vous devrez peut-être également activer l'accès à celui-ci: stackoverflow.com/questions/24763493/…Si vous utilisez le moteur de visualisation Razor, modifiez le fichier _Layout.cshtml. Déplacez le @ Scripts.Render ("~ / bundles / jquery") présent en pied de page vers la section d'en-tête et écrivez le code javascript / jquery comme vous le souhaitez:
la source
Vous pouvez ajouter les balises de script comme celles que nous utilisons dans asp.net tout en effectuant des validations côté client comme ci-dessous.
la source
type="text/javascript"
n'est pas nécessaire