如何在ASP.NET MVC 2(RTM)編輯器模板中正確註冊JavaScript塊?在MVC 2編輯器模板中正確註冊JavaScript和CSS
我所處的特定場景是我想爲我的標準日期時間選擇器使用Dynarch JSCal2 DateTimePicker,但這個問題通常是針對任何可重用的JavaScript包。我現在我的模板正常工作,但它有我的JS和CSS包括在我的母版頁和我寧願只包含這些東西,如果我確實需要他們:
<link rel="stylesheet" type="text/css" href="../../Content/JSCal2-1.7/jscal2.css" />
<link rel="stylesheet" type="text/css" href="../../Content/JSCal2-1.7/border-radius.css" />
<script type="text/javascript" src="../../Scripts/JSCal2-1.7/jscal2.js"></script>
<script type="text/javascript" src="../../Scripts/JSCal2-1.7/lang/en.js"></script>
所以,很顯然我可以把這些線到我模板,但如果我有一個有5個DateTimePicker的屏幕,那麼這個內容將被重複5次,這不會是理想的。無論如何,我仍然希望我的視圖的模板觸發此代碼被放入我的頁面的<head>
。
雖然這是完全無關,我問這個問題,我想我會分享在這裏(到目前爲止)我的模板的情況下,它以任何方式有用:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<DateTime>" %>
<%= Html.TextBoxFor(model => Model) %>
<input type="button" id="<%= ViewData.TemplateInfo.GetFullHtmlFieldId("cal-trigger") %>" value="..." />
<script type="text/javascript">
var <%= ViewData.TemplateInfo.GetFullHtmlFieldId("cal") %> = Calendar.setup({
trigger : "<%= ViewData.TemplateInfo.GetFullHtmlFieldId(string.Empty) %>",
inputField : "<%= ViewData.TemplateInfo.GetFullHtmlFieldId(string.Empty) %>",
onSelect : function() { this.hide(); },
showTime : 12,
selectionType : Calendar.SEL_SINGLE,
dateFormat : '%o/%e/%Y %l:%M %P'
});
</script>
截至目前,我只是將所有可能的資源添加到我的母版頁。我不想管理整個資源,但管理仍處於錯誤的地方。 – Jaxidian 2010-03-29 13:26:02
相關問題: http://stackoverflow.com/questions/2877927 – 2010-05-24 20:23:53
相關問題: http://stackoverflow.com/questions/2852928 – 2010-05-24 20:24:30