最近この問題を解決しなければなりませんでした。私は問題を解決するための一般的な機能を持っています。
- 外部
UpdatePanel
又は内に隠さasp:button
を入れAsyncPostBackTrigger
として設定します。
- 必要に応じて
ItemDataBound
からjs関数を呼び出して、asp:button
のClientID
を渡します。
- js関数は、 "OK"または何を設定したとしても、
buttonTxt
に渡されたボタンのclickイベントを呼び出します。ボタンをクリックします。
- ボタンが
butHidden_Click
内UpdatePanel
またはコールUpdate
内にある場合には、自動的にUpdatePanel.Update
を扱うことができます。
マークアップ:
<asp:UpdatePanel runat="server" ID="UpdatePanel1">
<ContentTemplate>
<asp:button id="btnHidden" style="display:none" runat="server" onclick="btnHidden_Click"/>
</ContentTemplate>
</asp:UpdatePanel>
スクリプト:あなたが必要とするダイアログボックスから各メソッドのコールバック関数を受け取るためのjsファイルで機能を拡張することができ
function showjQueryUIDialogOkBtnCallback(buttonToClick, dialogSelector, buttonTxt, isModal, width, height)
{
var buttonOpts = {};
buttonOpts[buttonTxt] = function() {
$("#" + buttonToClick).trigger('click');
};
buttonOpts['Cancel'] = function() {
$(this).dialog("close");
$(this).dialog('destroy');
}
$(dialogSelector).dialog({
resizable: false,
height: height,
width: width,
modal: isModal,
open: function (type, data) {
$(this).parent().appendTo("form"); //won't postback unless within the form tag
},
buttons: buttonOpts
});
$(dialogSelector).dialog('open');
}
フックイン。それらの関数を接続して、最初にチェックしてください:if(typeof(cbFncClose)=== 'function')cbFncClose(); – rkw