Comment ajouter JavaScript à un ASP.NET MVC View?

j'ai un simple point de Vue et je souhaite rajouter un DatePicker De JQuery JavaScript à cette vue (et non tous les view, via une page principale).

Je ne sais pas quelle est la meilleure façon de le faire.

deuxièmement, je suis conscient de Où / Quand mon JavaScript se charge. Je suis un fan de YSlow et il recommande que j'ajoute des scripts au bas de la page, ce que je fais.

alors, comment pourrais-je faire les deux?

Voici la vue:

<%@ Page
    Language="C#" 
    MasterPageFile="~/Views/Shared/Site.Master" 
    Inherits="System.Web.Mvc.ViewPage" %>

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">

    <h2>Index</h2>

    <% using (Html.BeginForm()) {%>

    <p>
        <label for="StartDate">Start Date:</label>
        <!-- JQuery DatePicker to be added, here. -->
    </p>
    <% } %>
</asp:Content>
32
demandé sur ydaetskcoR 2009-03-29 08:43:42

3 réponses

une façon est de mettre un conteneur de contenu au bas de votre page principale, puis la page esclave spécifique qui a besoin du javascript peut spécifier le contenu des conteneurs comme le javascript requis. Les autres pages qui n'ont pas besoin du javascript ne spécifient tout simplement pas de contenu pour le placeholder.

12
répondu LaserJesus 2009-03-29 04:47:29

dans ASP.NET MVC3, vous pouvez maintenant utiliser une option de rendu pour y arriver, au moins pour des scénarios plus simples. Il suffit d'ajouter un RenderSection au bas de la page de mise en page, et de votre vue remplir le code d'application

RenderSections:http://www.dotnetcurry.com/ShowArticle.aspx?ID=636

22
répondu Kamau Malone 2011-04-11 13:56:18

votre page principale doit avoir un Contenuplaceholder pour la tête.

<head runat="server">
    <title></title>
    <asp:ContentPlaceHolder ID="head" runat="server" />
</head>

alors vous pouvez inclure des éléments de tête (JavaScripts, feuilles de style, etc...) dans votre point de vue:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    <script src="/Scripts/jquery/ui/ui.datepicker.js" type="text/javascript">
    </script>
    <link href="/Styles/myStyle.css" rel="stylesheet" type="text/css" />
</asp:Content>
15
répondu CMS 2009-03-29 04:49:35