¿Cómo puedo registrar correctamente los bloques de JavaScript en una plantilla de Editor ASP.NET MVC 2 (RTM)?Registro correcto de JavaScript y CSS en MVC 2 Plantillas de editor
El escenario específico en el que estoy es que quiero usar Dynarch JSCal2 DateTimePicker para mi selector de fecha y hora estándar, pero esta pregunta es en general para cualquier paquete javascript reutilizable. Tengo mi plantilla funciona correctamente ahora pero tiene mis JS y CSS incluye en mi página maestra y yo más bien sólo se incluiría estas cosas si realmente los necesita:
<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>
Así que, obviamente tan sólo pudiera poner estas líneas en mi plantilla, pero si tengo una pantalla que tiene 5 DateTimePickers, este contenido se duplicará 5 veces, lo que no sería ideal. De todos modos, todavía quiero que la Plantilla de mi Vista active este código en el <head>
de mi página.
Si bien tiene relación alguna con mi hacer esta pregunta, pensé que me gustaría compartir mi plantilla aquí (hasta ahora) en caso de que sea útil en cualquier forma:
<%@ 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>
A partir de ahora, solo estoy agregando todos los recursos posibles a mi página maestra. No quiero tener que administrar todos los recursos aún, la administración TODAVÍA estará en el lugar equivocado. – Jaxidian
Pregunta relacionada: http://stackoverflow.com/questions/2877927 –
Pregunta relacionada: http://stackoverflow.com/questions/2852928 –