サーバーサイドのイベントを持ついくつかのASPコントロールを含むjQuery UIモーダルダイアログの問題を解決しようとしています。ダイアログ内のASPコントロールがクリックされるたびに、モーダルダイアログが閉じます。これらのASPコントロールは、モーダルと対話するために実行するだけのサーバー側のロジックを持っています。ダイアログ内のaspボタンをクリックすると、jQueryモーダルダイアログが閉じないようにするにはどうすればよいですか?
フォームにダイアログを追加するロジックを追加しました(下記参照)。 appendToは、私のソリューションの中で、ポストバックのコントロールを持つ他のダイアログでうまく機能します。
このモーダルの唯一の違いは、Divがユーザーコントロール内に含まれていることです。以下は
ダイアログを開くために使用するスクリプトです:
var $splitdialog;
// render html using web service, then GetSplitViewComplete will open the modal dialog
openDistributedReferenceCodesSplitModalDialog = function (splitdialogDivId, EntityType, EntityId, AllowAdd, AllowAdhoc) {
$splitdialog = $("#" + splitdialogDivId);
$splitdialog.empty();
WebServices.DistributedReferenceCodesService.GetSplitView(EntityType, EntityId, AllowAdd, AllowAdhoc, GetSplitViewComplete);
};
GetSplitViewComplete = function (result) {
// neccessary to support postback for button, dropdowns, etc on modal
$splitdialog.append(result.InnerHtml);
$splitdialog.dialog({ width: 800 }, { height: 'auto' }, { modal: true });
$splitdialog.parent().appendTo($("form:first"));
};
あなたの提案が高く評価されています。
は、あなたが仕事をするダイアログとの違いについての詳細を提供することができ...このような何かを試してみてください。どんな種類のコントロールが使われていますか? ASP.NETコントロール、Ajaxツールキットコントロール、JQuery UIコントロール –
このダイアログとの違いは、ダイアログを開くために使用されるdivがユーザーコントロール内にあることです。ユーザーコントロールはリストビュー内で繰り返されます。私は、モーダルとして開くdivの一意のIDを含むボタンにスクリプトをアタッチしてjQueryモーダルダイアログを開きます。ありがとうございました。 – ghoh
申し訳ありませんが、ここからお手伝いできません。一緒に働くだけで十分ではありません。 ajax化されていないサーバーコントロールとajaxの振る舞いを混ぜるとき、これらの問題を見つけることは常に困難です。私はそれができないとは言いませんが、私は可能な限りこれを避けようとしています。 –