最近これを解決しなければなりませんでした。私はこの問題を助けるための総称機能を持っています。
- 内外に隠し
asp:button
を入れて、として設定します。UpdatePanel
AsyncPostBackTrigger
- 必要に応じてからjs関数を呼び出し、非表示
ItemDataBound
のを渡します。 ClientID
asp:button
- js関数は、「OK」または設定
buttonTxt
したボタンがクリックされると、渡されたボタンのクリックイベントを呼び出します。
UpdatePanel.Update
ボタンが内にあるUpdatePanel
か、Update
内にある場合は、自動的に処理できますbutHidden_Click
。
マークアップ:
<asp:UpdatePanel runat="server" ID="UpdatePanel1">
<ContentTemplate>
<asp:button id="btnHidden" style="display:none" runat="server" onclick="btnHidden_Click"/>
</ContentTemplate>
</asp:UpdatePanel>
脚本:
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');
}