我正在开发一个服务器自定义控件 (.NET),一个带有 jQueryUI 插件的“DatePicker”。所以,我有下一个脚本,它作为 webResource 加载:
JavaScript
$(function () {
$("#" + ctrlInput).datepicker({
maxDate: MaxDate,
minDate: MinDate
});
});
如您所见,我有 javascript 变量,因此,为了加载脚本和变量,我执行以下操作:
C#
string javascriptVariables = String.Format(
"var MinDate = '{0}'; var MaxDate = '{1}'; var ctrlInput = '{2}';",
MinDate ?? DateTime.MinValue.ToShortDateString(),
MaxDate ?? DateTime.MaxValue.ToShortDateString(),
_textBox.ClientID
);
// Load javascript variables (it will be load every time i add a control)
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "dateValues" + _textBox.ClientID, javascriptVariables, true);
// Load jQueryPlugin (it is loaded only once, and this is the problem)
Page.ClientScript.RegisterClientScriptResource(this.GetType(), "[[resourceName]]");
它工作正常。问题是当我多次将此控件添加到页面时。
这是因为脚本变量加载得很好,但是 RegisterClientScriptResource 没有再次加载 jQuery 插件!而且我不知道如何强制加载!因为我无法将资源键设置为RegisterClientScriptResource
有谁知道如何解决这个问题?
谢谢