【发布时间】:2011-10-26 09:28:04
【问题描述】:
我的页面基于 c# 中的 asp.net 中的母版页和内容页。
我在母版页中有一个计时器,如下所示:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Timer runat="server" ID="Timer1" Interval="10000" Enabled="False">
</asp:Timer>
<div id="SiteStatistics">
<asp:Label ID="lblDownload_Count_Title" runat="server" Text="Download Count :" ToolTip="Download Count :"
CssClass="lblTitleInStatistics"></asp:Label>
<asp:Label ID="lblDownload_Count" runat="server" Text="<%# Download_Count() %>" CssClass="lblCountInStatistics"></asp:Label>
<br />
<asp:Label ID="lblDownload_Count_By_UserID_Title" runat="server" Text="Ur Download Count :"
ToolTip="Your Download Count From The Begining Of Registration UpTo Now" CssClass="lblTitleInStatistics"></asp:Label>
<asp:Label ID="lblDownload_Count_By_UserID" runat="server" Text="<%# Download_Count_By_UserID() %>"
CssClass="lblCountInStatistics"></asp:Label>
<br />
<asp:Label ID="lblDownload_Count_By_UserID_Today_Title" runat="server" Text="Ur Download Count-Today :"
ToolTip="Your Download Count-Today" CssClass="lblTitleInStatistics"></asp:Label>
<asp:Label ID="lblDownload_Count_By_UserID_Today" runat="server" Text="<%# Download_Count_By_UserID_Today() %>"
CssClass="lblCountInStatistics"></asp:Label>
<br />
<asp:Label ID="lblDownload_Size_By_UserID_Title" runat="server" Text="Ur Download Size :"
ToolTip="Your Download Size From The Begining Of Registration UpTo Now" CssClass="lblTitleInStatistics"></asp:Label>
<asp:Label ID="lblDownload_Size_By_UserID" runat="server" Text="<%# Download_Size_By_UserID() %>"
CssClass="lblCountInStatistics"></asp:Label>
<br />
<asp:Label ID="lblDownload_Size_By_UserID_Today_Title" runat="server" Text="Ur Download Size-Today :"
ToolTip="Your Download Size-Today" CssClass="lblTitleInStatistics"></asp:Label>
<asp:Label ID="lblDownload_Size_By_UserID_Today" runat="server" Text="<%# Download_Size_By_UserID_Today() %>"
CssClass="lblCountInStatistics"></asp:Label>
<br />
<asp:Label ID="lblDownload_Size_By_UserID_Today_Remain_Title" runat="server" Text="Ur Remain Download Size-Today :"
ToolTip="Your Remain Download Size-Today" CssClass="lblTitleInStatistics"></asp:Label>
<asp:Label ID="lblDownload_Size_By_UserID_Today_Remain" runat="server" Text="<%# Download_Size_By_UserID_Today_Remain() %>"
CssClass="lblCountInStatistics"></asp:Label>
</div>
</ContentTemplate>
</asp:UpdatePanel>
此计时器每 10 秒计时一次并导致回调 -> 由于该计时器,内容页的第一个 page_load 和母版页的最后一个 page_load 每 10 秒触发一次!
我如何在主页面和内容页面中识别 timer'callback 并防止由于回调而一次又一次地运行代码?
提前致谢
【问题讨论】:
-
回发总是触发主和内容页的
Page_Load,你应该处理Timer's Tick-Event。 -
或者您在寻找 Page.IsCallback 属性?
-
您在每次回发时运行什么代码?也许你应该用
!Page.IsPostback()-check 包围它。 -
@Tim Schmelter 感谢 4 条评论/但滴答事件无法帮助我识别主页面和内容页面加载中的计时器回调/除了计时器的滴答声在母版页中,因此内容页面没有此类事件/ 我想在内容 page_load 中使用 if 来防止在计时器滴答时运行内容 page_load 代码 ....
-
这对于识别定时器的回调是必要的 - 不是所有的回调/我认为 Page.IsCallback 是好的/但在某些回调中我想要 page_load 代码/
标签: c# asp.net timer master-pages