は、私は、次のユーザーコントロールを得た:ASP.NETユーザーコントロールとjQueryのダイアログ
<div class="editFormDialog" style="display: none; font-size: 12px;">
<mm:Form ID="editUC" ShowCreateButton="false" ShowEditButton="true" runat="server" />
</div>
このUCは、DataSetを取り、公共性を有し、UCの一部のフィールドを更新します。
ページ上のボタンを押すと、UCでこのプロパティが呼び出され、UCがDataSetからのデータで更新されます。
これまでのところとても良いです。 UCをjQuery UIダイアログにしたいときに問題が発生します。
$('#btnEdit').live('click', function() {
$('.editFormDialog').dialog('open');
});
:(これはASP.NETボタン、プレーンなHTMLではありません)
$(document).ready(function() {
$('.editFormDialog').dialog({
autoOpen: false,
height: 700,
width: 780,
modal: true,
bgiframe: true,
title: 'Rediger',
open: function(type, data) {
$(this).parent().appendTo("form");
$(this).css('display', 'block');
}
});
});
そして私は、ボタンプッシュで開くためにそれをwan't:
まず私は、ダイアログを作成しますダイアログが開きますが、UCに正しいデータが含まれていません。 ページが読み込まれると、UCはデフォルトデータで更新されます。ユーザーがボタンをクリックすると、データは変更されますが、UCは更新されません。依然としてデフォルトデータが含まれています。それは問題です。
理由はありますか?
大変助かります!
ボタンをクリックして次のデータを取得します。ポストバックが発生します。 UCのプロパティは、 "editUC.EditData = ds;"のように設定されます。ページに新しいデータが表示されます。ダイアログポップアップを作成する別のボタンをクリックすると、UCにはまだデフォルトデータが含まれています。それはそれがデータソースの変更を登録していないように。しかし、私がUCをダイアログの外に表示すると、それは完全に機能します。 –
それは奇妙に聞こえます:あなたのソースコードをさらに投稿できますか? –
すべてが更新パネル内に配置されています。ダイアログを作成すると、更新パネルの外に移動することができますか?おそらく別の解決策は、それが開かれるたびにダイアログを作成し、閉じているときにダイアログを削除することです。もちろん、html要素を適切な場所に配置します。しかし、どうしたらいいですか? –