как распознать обратный вызов таймера (таймер находится на главной странице) как на главной странице, так и на странице содержимого - PullRequest
0 голосов
/ 26 октября 2011

мои страницы основаны на главной и содержательной страницах в asp.net с c #.
У меня есть таймер на главной странице, как показано ниже:

                    <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 секунд и вызывает обратные вызовы-> Первая страница_загрузки страницы содержимого и последняя страница_загрузки главной страницы запускаются каждые 10 секунд из-за этого таймера!
как я могу распознать этот timer'callback как на главной странице, так и на страницах содержимого и предотвратить повторный запуск кодови снова из-за обратного вызова?

заранее спасибо

1 Ответ

2 голосов
/ 26 октября 2011

У вас есть несколько вариантов:

  1. Удалить таймер. Кажется, вы на самом деле не хотите этого / нуждаетесь в этом.
  2. на Page_Load, Master и Page, заключите свой код в if(!IsPostBack){//code}
  3. На Page_Load проверьте Request.Params["__EVENTTARGET"] и посмотрите, содержит ли оно Timer1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...