Updatepanel 中的 ImageButton 仅在第一个页面加载时触发
ImageButton in Updatepanel fires only on first Page Load
我有以下更新面板:
<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 弹出,但 Buttons 不再触发。
$(document).ready(function() {
setInterval("RefreshGrid()", 60000);
});
function RefreshGrid() {
var WebGrid1 = ISGetObject("WebGrid1");
WebGrid1.Refresh();
}
有人知道吗,问题出在哪里?为什么它只适用于第一个页面加载?
有一个名为 pageLoad
的保留函数在每次回发时运行。在里面绑定你的事件。
function pageLoad() {
$('#btn_ok, #cmdClosePopUp').click(ClosePopup); //Something like this.
}
当您刷新时,感觉就像您正在将 link 输给处理程序。这应该可以解决这个问题。
我有以下更新面板:
<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 弹出,但 Buttons 不再触发。
$(document).ready(function() {
setInterval("RefreshGrid()", 60000);
});
function RefreshGrid() {
var WebGrid1 = ISGetObject("WebGrid1");
WebGrid1.Refresh();
}
有人知道吗,问题出在哪里?为什么它只适用于第一个页面加载?
有一个名为 pageLoad
的保留函数在每次回发时运行。在里面绑定你的事件。
function pageLoad() {
$('#btn_ok, #cmdClosePopUp').click(ClosePopup); //Something like this.
}
当您刷新时,感觉就像您正在将 link 输给处理程序。这应该可以解决这个问题。