Updatepanel中的ImageButton仅在第一次页面加载时触发

时间:2015-03-24 08:56:20

标签: c# asp.net .net updatepanel

我有以下Updatepanel:

<asp:UpdatePanel ID="upPopUps" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:Panel ID="panelOverlay" runat="server" class="Overlay" Visible="false">
        </asp:Panel>
        <asp:Panel ID="panelPopUpPanel" runat="server" class="PopUpPanel" Visible="false"
            BorderStyle="Solid" BorderWidth="5px" Height="250px">
            <table style="width: 100%; height: 100%; border-bottom: solid 2; border-top: solid 2;
                border-left: solid 2; border-right: solid 2;">
                <tr>
                    <th style="width: 100%; padding-left: 10px;" colspan="2">
                        <asp:PlaceHolder ID="PopupHeader" runat="server"></asp:PlaceHolder>
                    </th>
                    <th>
                        <asp:ImageButton id="cmdClosePopUp" runat="server" src="../Navigation/PopupImages/Close.png" alt="Close Popup"
                            OnClick="ClosePopup"  align="right" />
                    </th>
                </tr>
                <tr class="border_top">
                    <td colspan="3">
                    </td>
                </tr>
                <tr style="height: 80%">
                    <td align="center">
                        <asp:PlaceHolder ID="PopupMessage" runat="server"></asp:PlaceHolder>
                    </td>

                </tr>
                <tr style="height: 10%">
                    <td colspan="3" style="padding-left: 10px;">
                        <input type="hidden" id="StartDivID" value="0" runat="server" />
                        <input type="hidden" id="NewsCount" value="" runat="server" />
                        <asp:ImageButton runat="server" id="btn_ok" src="../Navigation/PopupImages/Ok_Button.jpg" alt="Close Popup"
                              OnClick="ClosePopup" align="right" />
                    </td>
                </tr>
            </table>
        </asp:Panel>
    </ContentTemplate>
</asp:UpdatePanel>

我的问题是,如果我在PageLoad之后单击这两个按钮中的一个,它可以正常工作。

通过$(document).ready(function()我每隔60秒刷新一次页面。 PopUp弹出,但按钮不再弹了。

        $(document).ready(function() {

                setInterval("RefreshGrid()", 60000);

        });


        function RefreshGrid() {
            var WebGrid1 = ISGetObject("WebGrid1");
            WebGrid1.Refresh();
        }

有人有想法,可能出现问题吗?为什么它只在第一个页面加载?

1 个答案:

答案 0 :(得分:3)

有一个名为pageLoad的保留函数,它在每次回发时都会运行。将你的事件绑定在其中。

function pageLoad() {
    $('#btn_ok, #cmdClosePopUp').click(ClosePopup); //Something like this.
}

当您刷新时,感觉您正在丢失与处理程序的链接。这应该解决这个问题。