【问题标题】:Why does clicking a button inside a JQuery Dialog inside an updatepanel Posts the page insted of AsyncPostback?为什么单击更新面板内的 JQuery 对话框内的按钮会发布 AsyncPostback 的页面?
【发布时间】:2013-12-19 08:37:00
【问题描述】:

您好,我在内容页面中有一个 Jquery 对话框,我声明如下:

function showImageDialog(Id_Image) {
        $(document).ready(function () {
            //$("[id$='divImageDialog']").html($(Id_Image));
            $("[id$='divImageDialog']").dialog({
                title: ']',
                autoOpen: true,
                buttons: {
                    "Close": function () {
                        $(this).dialog("close");
                    }
                },
                open: function (event, ui) {
                    $(this).parent().children().children('.ui-dialog-titlebar-close').hide();
                },
                open: function (type, data) {
                    $(this).parent().appendTo("form:first");
                },
                close: function (event, ui) {
                    $(this).dialog("close");
                    $(this).dialog('destroy');
                },
                show: {
                    effect: "bounce",
                    duration: 500
                },
                hide: {
                    effect: "fade",
                    duration: 500
                }
            });

        });

我在内容页面中有一个updatepanel,我在其中放置了以下 div:

<div class="divImageDialog" id="divImageDialog">
            <asp:DataList ID="DLImages" DataKeyField="Id" runat="server" RepeatDirection="Horizontal" RepeatColumns="1">
                <ItemTemplate>
                    <table align="center">
                        <tr align="center">
                            <td align="center">
                                <asp:Label ID="lblName" runat="server" Text='<%#Eval("TFName")%>'></asp:Label>
                                <br />
                                <br />
                            </td>
                        </tr>
                        <tr align="center">
                            <td align="center">
                                <img src='<%# "../Classes/Handlers/Handler.ashx?Type=1&Id=" + Eval("Id") %> ' />
                                <br />
                                <br />
                            </td>
                        </tr>
                    </table>
                </ItemTemplate>
            </asp:DataList>
            <div align="center">
                <asp:ImageButton runat="server" ID="lnkFirst" ImageUrl="~/Content/Images/DL/btnFirst.png" CssClass="btnNav" ImageAlign="AbsMiddle" ToolTip="First" OnClick="lnkFirst_Click" />
                <asp:ImageButton runat="server" ID="lnkPrev" ImageUrl="~/Content/Images/DL/btnPre.png" CssClass="btnNav" ImageAlign="AbsMiddle" ToolTip="Pre" OnClick="lnkPrev_Click" />
                <asp:ImageButton runat="server" ID="lnkNext" ImageUrl="~/Content/Images/DL/btnNext.png" CssClass="btnNav" ImageAlign="AbsMiddle" ToolTip="Next" OnClick="lnkNext_Click" />
                <asp:ImageButton runat="server" ID="lnkLast" ImageUrl="~/Content/Images/DL/btnLast.png" CssClass="btnNav" ImageAlign="AbsMiddle" ToolTip="Last" OnClick="lnkLast_Click" />
            </div>
        </div>

这里的问题是,当我单击四个导航图像按钮中的每一个时,尽管 div 位于 UpdatePanel 内部,但我得到了 PostBack !

【问题讨论】:

    标签: jquery asp.net jquery-ui updatepanel


    【解决方案1】:

    您没有包含 UpdatePanel 的代码,因此很难猜测可能出了什么问题。也许您有一个 asp:PostBackTrigger 元素引用您的子控件?

    【讨论】:

    • 没有回发触发器!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 2018-06-18
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多