jQueryUIプラグインを使用した「DatePicker」であるサーバーカスタムコントロール(.NET)を開発しています。だから、私は 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に設定できないため
これを解決する方法を知っている人はいますか?
ありがとう