単純なビューがあり、このビューに JQuery DatePicker JavaScript を追加します(everyビューではなく、マスターページ)。
これを行うための最良の方法がわからない。
次に、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>
1つの方法は、マスターページの下部にコンテンツプレースホルダーを配置し、JavaScriptを必要とする特定のスレーブページがプレースホルダーコンテンツを必要なJavaScriptとして指定できるようにすることです。 JavaScriptを必要としない他のページは、単にプレースホルダーのコンテンツを指定しません。
ASP.NET MVC3では、少なくとも単純なシナリオでは、RenderSectionを使用してこれを実現できます。レイアウトページの下部にRenderSectionを追加し、ビューからアプリケーションコードを入力するだけです
RenderSections: http://www.dotnetcurry.com/ShowArticle.aspx?ID=636
MasterPageには、ヘッド用のContentPlaceHolderが必要です。
<head runat="server">
<title></title>
<asp:ContentPlaceHolder ID="head" runat="server" />
</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>