我有以下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();
}
有人有想法,可能出现问题吗?为什么它只在第一个页面加载?
答案 0 :(得分:3)
有一个名为pageLoad
的保留函数,它在每次回发时都会运行。将你的事件绑定在其中。
function pageLoad() {
$('#btn_ok, #cmdClosePopUp').click(ClosePopup); //Something like this.
}
当您刷新时,感觉您正在丢失与处理程序的链接。这应该解决这个问题。