开发者

Fancybox AJAX - how to close dialog after postback

开发者 https://www.devze.com 2023-04-12 01:17 出处:网络
I have a link on my ShowData.aspx page that I\'m calling fancybox on. <a href=\"EditData.aspx\" id=\"editLink\">Edit Data</a>

I have a link on my ShowData.aspx page that I'm calling fancybox on.

<a href="EditData.aspx" id="editLink">Edit Data</a>

My JQuery code is:

$("#editLink").fancybox({
                        'opacity': true,
                        'overlayShow': true,
                        'transitionIn': 'elastic',
                        'transitionOut': 'none'                                                        
                    });

The form EditData.aspx contains a save button. My problem is that after I click the save button the dialog does not close. Furthermore, after the save is performed on the ser开发者_JS百科ver the client page redirects to EditData.aspx.

The expected outcome is that the dialog closes and I am returned to the parent page (ShowData.aspx).

Thanks!


I removed fancybox and found that this issue also occurs with regular JQuery dialogs. If you load a page that has a submit button (or posts back in any way) then your dialog will disappear and your main page will redirect to the dialog page. Here's a simple test:

HTML:

<div id="divClick"></div>

JQuery:

$(function () {
            $("#divClick").dialog({
                modal: true,
                open: function () {
                    $(this).load('Postback.aspx');
                },
                title: 'Ajax Page'
            });
        });   

Postback.aspx:

<body>
    <form id="form1" runat="server">
    <div>

    </div>
    Enter Name:
    <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
    </form>
</body>

Is there a way to attach an event to the postback from the dialog?

Furthermore, I modified Postback.aspx to include jscolor.js (a JQuery plugin) to see if it would work, it did not work. Any JQuery functionality doesn't seem to work in a dialog.


I ended up using an iFrame. This seems to do the job.

MainPage.aspx

<div id="divClick"><iframe src="Postback.aspx"></iframe></div>

JQuery:

 $(function () {
       $("#divClick").dialog({
          modal: true,                
          title: 'iFrame Page',
          width: 500,
          height: 500
       });
   }); 

JQuery plugins in Postback.aspx work well and posting back doesn't close the dialog and redirect the main page.

0

精彩评论

暂无评论...
验证码 换一张
取 消