33

シンプルなビューがあり、このビューにJQuery DatePicker JavaScriptを追加したいと考えています (すべてのビューではなく、マスターページを介して)。

これを行う最善の方法が何であるかわかりません。

次に、JavaScript がいつどこで読み込まれるかを意識しています。私は YSlow のファンで、ページの下部にスクリプトを追加することを推奨しています。

では、どうすれば両方を行うことができますか?

ビューは次のとおりです。

<%@ 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>
4

3 に答える 3

22

ASP.NET MVC3 では、少なくともより単純なシナリオでは、RenderSection を使用してこれを実現できるようになりました。レイアウト ページの下部に RenderSection を追加するだけで、ビューからアプリケーション コードを入力できます。

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

于 2011-04-11T13:56:18.303 に答える
15

MasterPage には、ヘッド用の ContentPlaceHolder が必要です。

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

次に、ビューに head 要素 (JavaScript、StyleSheets など) を含めることができます。

<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>
于 2009-03-29T04:49:35.433 に答える
12

1 つの方法は、マスター ページの下部にコンテンツ プレースホルダーを配置することです。次に、JavaScript を必要とする特定のスレーブ ページで、プレースホルダーのコンテンツを必要な JavaScript として指定できます。JavaScript を必要としない他のページでは、プレースホルダーのコンテンツが指定されていません。

于 2009-03-29T04:47:29.153 に答える