ASP.NET with jQuery popup dialog: how to post back on dialog closing

前端 未结 1 937
日久生厌
日久生厌 2021-01-03 05:00

Folks,

I\'m working on a rather complicated site. We have an update panel that contains some controls. When one of the controls is clicked, a jQuery dialog box ope

相关标签:
1条回答
  • 2021-01-03 05:54

    Just had to solve this recently. I have a generic function to help with the issue.

    • Put a hidden asp:button within the UpdatePanel or outside and set it as an AsyncPostBackTrigger.
    • Call the js function from ItemDataBound if needed, passing in the ClientID of the hidden asp:button.
    • The js function will call the click event on the button passed in once the "OK" or whatever you set buttonTxt to, button is clicked.
    • You can then handle the UpdatePanel.Update automatically if the button is inside the UpdatePanel or call Update within the butHidden_Click.

    Markup:

    <asp:UpdatePanel runat="server" ID="UpdatePanel1">
      <ContentTemplate>
         <asp:button id="btnHidden" style="display:none" runat="server" onclick="btnHidden_Click"/>
       </ContentTemplate>
     </asp:UpdatePanel> 
    

    Script:

       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');
    
        }
    
    0 讨论(0)
提交回复
热议问题