最近不得不解决这个问题。我有一个通用函数来帮助解决这个问题。
asp:button
在内部或外部放置一个隐藏UpdatePanel
并将其设置为一个AsyncPostBackTrigger
。
ItemDataBound
如果需要,调用 js 函数,传入ClientID
hidden 的asp:button
。
- 一旦单击“确定”或您设置的任何按钮,js 函数将调用传入按钮的单击事件
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');
}