asp.net计时器没有触发updatepanel

时间:2017-06-25 19:19:28

标签: c# asp.net

我的aspx页面内容页面中有一个表格(也使用母版页) 问题是Timer似乎没有做异步回发它甚至没有击中方法 我已经尝试使用以下代码在VS中使用新的解决方案,并且每10秒刷新一次事件updatepanel就可以正常工作了。所以我相信代码很好,但有一些东西阻止这种工作,我无法弄清楚是什么。

   <div class="row" >


                    <div class="col-md-3">

                        <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
                            <asp:Triggers>
                                <asp:AsyncPostBackTrigger ControlID="TimerPrayer"></asp:AsyncPostBackTrigger>

                            </asp:Triggers>

                            <ContentTemplate>
                                <table id="tblPrayerTimes" class="table-condensed">
                                    <tr>
                                        <th colspan="3">

                                            <asp:Label ID="LblPrayer" runat="server" CssClass="prayerTimeHeaderscss" Text="Prayer Time"></asp:Label>
                                        </th>
                                        <th colspan="1">
                                            <asp:Label ID="lblJammat" runat="server" CssClass="prayerTimeHeaderscss" Text="Jamaat Time"></asp:Label>
                                        </th>
                                    </tr>
                                    <tr>
                                        <td></td>

                                        <th>
                                            <asp:Label ID="lblToday" runat="server" CssClass="prayerlabeltodaytomorrowcss" Text="Today"></asp:Label>
                                        </th>

                                        <th>
                                            <asp:Label ID="lblTomorrow" runat="server" CssClass="prayerlabeltodaytomorrowcss" Text="Tomorrow"></asp:Label>
                                        </th>
                                    </tr>
                                    <tr>
                                        <td>
                                            <asp:Label ID="lblFajr" runat="server" CssClass="prayerLabelscss" Text="Fajr"></asp:Label>
                                        </td>
                                        <td style="text-align: center">
                                            <asp:Label ID="lblbegFajrTime" runat="server" CssClass="prayerTimescss" Text="00:00"></asp:Label>
                                        </td>
                                        <td style="text-align: center">
                                            <asp:Label ID="lbltmrwFajrTime" runat="server" CssClass="prayerTimeTmrwcss" Text="00:00"></asp:Label>
                                        </td>
                                        <td id="tdfajrJamaatbox" style="text-align: center">
                                            <asp:TextBox ID="txtFajrJamaat" runat="server" Text="00:00" onmousedown="displayPicker('Fajr','tdfajrJamaatbox');" MaxLength="5" CssClass="prayerTimeJamaat"></asp:TextBox>
                                    </tr>
                                    <tr>
                                        <td>
                                            <asp:Label ID="lblSunrise" runat="server" CssClass="prayerLabelscss" Text="Sunrise"></asp:Label>
                                        </td>
                                        <td style="text-align: center">
                                            <asp:Label ID="lblbegSunRiseTime" runat="server" CssClass="prayerTimescss" Text="00:00"></asp:Label>
                                        </td>
                                        <td style="text-align: center">
                                            <asp:Label ID="lbltmrwSunriseTime" runat="server" CssClass="prayerTimeTmrwcss" Text="00:00"></asp:Label>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <asp:Label ID="lblDkubra" runat="server" CssClass="prayerLabelscss" Text="Dahawa Kubra"></asp:Label>
                                        </td>
                                        <td>
                                            <asp:Label ID="lblDkubraTime" runat="server" CssClass="prayerTimescss" Text="00:00"></asp:Label>
                                        </td>
                                        <td style="text-align: center"></td>
                                        <td id="td1" style="text-align: center"></td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <asp:Label ID="lblDhuhr" runat="server" CssClass="prayerLabelscss" Text="Dhuhr"></asp:Label>
                                        </td>
                                        <td style="text-align: center">
                                            <asp:Label ID="lblbegDhuhrTime" runat="server" CssClass="prayerTimescss" Text="00:00"></asp:Label>
                                        </td>


                                        <td style="text-align: center">
                                            <asp:Label ID="lbltmrwDhuhrTime" runat="server" CssClass="prayerTimeTmrwcss" Text="00:00"></asp:Label>
                                        </td>
                                        <td id="tddhuhrJamaatbox" style="text-align: center">
                                            <asp:TextBox ID="txtDhuhrJamaat" runat="server" CssClass="prayerTimeJamaat" Text="00:00" onmousedown="displayPicker('Dhuhr','tddhuhrJamaatbox');" MaxLength="5"></asp:TextBox>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <asp:Label ID="lblAsr" runat="server" CssClass="prayerLabelscss" Text="Asr"></asp:Label>
                                        </td>
                                        <td style="text-align: center">
                                            <asp:Label ID="lblbegAsrTime" runat="server" CssClass="prayerTimescss" Text="00:00"></asp:Label>
                                        </td>
                                        <td style="text-align: center">
                                            <asp:Label ID="lbltmrwAsrTime" runat="server" CssClass="prayerTimeTmrwcss" Text="00:00"></asp:Label>
                                        </td>
                                        <td id="tdasrJamaatbox" style="text-align: center">
                                            <asp:TextBox ID="txtAsrJamaat" runat="server" CssClass="prayerTimeJamaat" Text="00:00" onmousedown="displayPicker('Asr','tdasrJamaatbox');" MaxLength="5"></asp:TextBox>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <asp:Label ID="lblMaghrib" runat="server" CssClass="prayerLabelscss" Text="Maghrib"></asp:Label>
                                        </td>
                                        <td style="text-align: center">
                                            <asp:Label ID="lblbegMaghribTime" runat="server" CssClass="prayerTimescss" Text="00:00"></asp:Label>
                                        </td>
                                        <td style="text-align: center">
                                            <asp:Label ID="lbltmrwMaghrib" runat="server" CssClass="prayerTimeTmrwcss" Text="00:00"></asp:Label>
                                        </td>
                                        <td id="tdmaghribJamaatbox" style="text-align: center">
                                            <asp:TextBox ID="txtMaghribJamaat" runat="server" CssClass="prayerTimeJamaat" Text="00:00" onmousedown="displayPicker('Maghrib','tdmaghribJamaatbox');" MaxLength="5"></asp:TextBox>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <asp:Label ID="lblIsha" runat="server" CssClass="prayerLabelscss" Text="Isha"></asp:Label>
                                        </td>
                                        <td style="text-align: center">
                                            <asp:Label ID="lblbegIshaTime" runat="server" CssClass="prayerTimescss" Text="00:00"></asp:Label>
                                        </td>
                                        <td style="text-align: center">
                                            <asp:Label ID="lbltmrwIshaTime" runat="server" CssClass="prayerTimeTmrwcss" Text="00:00"></asp:Label>
                                        </td>
                                        <td id="tdishaJamaatbox" style="text-align: center">
                                            <asp:TextBox ID="txtIshaJamaat" runat="server" CssClass="prayerTimeJamaat" Text="00:00" onmousedown="displayPicker('Isha','tdishaJamaatbox');" MaxLength="5"></asp:TextBox>
                                        </td>
                                    </tr>

                                    <tr>
                                        <td>
                                            <asp:Label ID="lblJamaat" runat="server" CssClass="prayerLabelscss" Text="Jummah 1"></asp:Label>
                                        </td>
                                        <td></td>
                                        <td></td>
                                        <td id="tdjummah1Jamaatbox" style="text-align: center">
                                            <asp:TextBox ID="txtJummah1Jamaat" runat="server" CssClass="prayerTimeJamaat" Text="13:30" onmousedown="displayPicker('Jummah1','tdjummah1Jamaatbox');" MaxLength="5"></asp:TextBox>
                                        </td>

                                    </tr>
                                    <tr>
                                        <td>
                                            <asp:Label ID="lblJummah2" runat="server" CssClass="prayerLabelscss" Text="Jummah 2"></asp:Label>
                                        </td>
                                        <td></td>
                                        <td></td>
                                        <td id="tdjummah2Jamaatbox" style="text-align: center">
                                            <asp:TextBox ID="txtJummah2Jamaat" runat="server" CssClass="prayerTimeJamaat" Text="13:30" onmousedown="displayPicker('Jummah2','tdjummah2Jamaatbox');" MaxLength="5"></asp:TextBox>
                                        </td>

                                    </tr>

                                    <tr>
                                        <td colspan="4">
                                            <asp:Button ID="btnRadioStatus" OnClick="btnRadioStatus_Click" runat="server" Enabled="false" CssClass="cssRadioStatus"
                                                Text="Button" />

                                        </td>


                                    </tr>

                                </table>
                                </ContentTemplate>
                            </asp:UpdatePanel>



                        <asp:Timer ID="TimerPrayer" runat="server" OnTick="TimerPrayer_Tick" Interval="10000"></asp:Timer>


                    </div>

背后的代码

protected void TimerPrayer_Tick(object sender, EventArgs e)
{
    ReadMyData();

}

3 个答案:

答案 0 :(得分:0)

也许你可以使用trigger.Because更新面板回发适用于trigger

您不必在更新面板中使用计时器,在更新面板外使用计时器。 以及在更新面板中使用计时器的示例

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
    <Triggers>
        <asp:AsyncPostBackTrigger  ControlID="Timer1" EventName="Tick" />
    </Triggers>
    <ContentTemplate> 
        <!-- your content here, no timer -->
    </ContentTemplate> 
</asp:UpdatePanel> 

<asp:Timer ID="Timer1" runat="server" Interval="5000" OnTick="Timer1_Tick">
</asp:Timer> 

来源code

答案 1 :(得分:0)

我在我的页面加载中有这个停止回发

 ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "setDOM", "$(\"#divDigitalClock\").clock({ \"langSet\":\"en\",\"format\":\"24\"});", true);

答案 2 :(得分:0)

我遇到了同样的问题。我在我的更新面板中放了一个计时器。它根本没有触发它的OnTick事件回调。 我将计时器移到更新面板之外,然后它开始触发回调。 然后我在更新面板中为计时器添加了一个触发器,它可以工作:

<asp:UpdatePanel ID="UpdatePanelChart" runat="server">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="tmChartPanel" 
            EventName="Tick" />
    </Triggers>
    <!-- ... -->