После закрытия диалогового окна jquery UI постбэк на всей странице не работает - PullRequest
0 голосов
/ 18 июля 2011

Я открываю диалог пользовательского интерфейса следующим образом:

var $dialog = jQuery('#dialog');    
     $dialog.load('mySite.aspx');
     $dialog.dialog({
        autoOpen: false,
        title: 'Add New Contact Personel',
        modal: true,
        height: 350,
        width: 400,
        show: 'puff',
        hide: 'puff',
        close: function (event, ui) {
            $dialog.html('');
            $dialog.dialog('destroy');
        }
     });
    $dialog.dialog('open');

, и после того, как я закрываю его, используя крестик в правом верхнем ядре, все остальные кнопки, не подключенные к диалогу пользовательского интерфейса, не работают, например linkButton в gridviewниже утратил свое значение, в Firefox не работает, в Chrom перенаправить на страницу, которая использовала preavious диалоговое окно пользовательского интерфейса, но когда я обновляю страницу, все работает нормально, пока я нажимаю снова, чтобы открыть диалоговое окно пользовательского интерфейса, то все другие ссылки не 'снова работать.

<asp:GridView ID="userGridView" runat="server"
            AutoGenerateColumns="False"
            GridLines="None"
            AllowPaging="true"
            DataKeyNames="UserId"
            OnRowCommand="UserGridViewRowCommand">
            <Columns>
                <asp:BoundField DataField="UserId" Visible="false"/>
                <asp:BoundField DataField="FirstName" HeaderText="First Name" />
                <asp:TemplateField HeaderText="Actions" HeaderStyle-Width="75px" ItemStyle-HorizontalAlign="Center" >
                         <ItemTemplate>
                            <asp:LinkButton ID="ChartLinkBtn" ToolTip="go to EAS (user page)" CommandArgument='<%# Eval("UserId") %>' CommandName="User" runat="server"><img src="../Styles/icons/chart.png" style="border:0px" alt="text"/></asp:LinkButton>&nbsp;&nbsp;
                            <asp:LinkButton ID="DeleteLinkBtn" ToolTip="delete this user" CommandArgument='<%# Eval("UserId") %>' CommandName="Delete" runat="server"><img src="../Styles/icons/delete.png" style="border:0px" alt="text"/></asp:LinkButton>
                        </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>

1 Ответ

2 голосов
/ 01 декабря 2011

Если это какая-то помощь, почему бы вообще не принудительно выполнить полную обратную передачу?

close: function (event, ui) {
        $dialog.html('');
        $dialog.dialog('destroy');
        __doPostBack(); //to perform a full postback
    }

или попробуйте это (поместите это в теги javascript) ...

    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(function (evt, args) {
    var myDiv = $("#dialog").dialog({ autoOpen: false, modal: true, open: function (type, data) {
        $(this).parent().appendTo("form");
    }
    });
});

ура!

...