我的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();
}
答案 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>
<!-- ... -->