Я разрабатываю серверный пользовательский элемент управления (.NET), «DatePicker» с плагином jQueryUI. Итак, у меня есть следующий скрипт, который загружается как 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
Кто-нибудь знает, как это решить?
Thanks
Зачем вам нужно, чтобы плагин jQuery загружался несколько раз? Мне кажется, что вы хотите загрузить его один раз, чтобы вы могли вызывать методы несколько раз, но не обязательно иметь несколько копий методов там снова и снова. –