Привет, я много искал переполнение стека, чтобы найти подходящий ответ на мой вопрос, но не смог его найти. Надеюсь, вы, ребята, поможете мне с моей проблемой.Asp.net Timer and Update Panel
У меня есть веб-приложение, имеющее две панели обновления.
1-я панель обновления содержит только таймер, интервал которого составляет только одну секунду и действует как таймер обратного отсчета.
Вторая панель обновления - условная панель, которая обновляется только после завершения обратного отсчета.
Проблема, с которой я столкнулся, заключается в том, что когда я публикую свое веб-приложение, таймер, похоже, не работает правильно на странице, как обычно используется наверху (я предполагаю, что он обновляется). На локальном хосте он работает без проблем. Код приведен ниже ASPX файл и файл aspx.cs
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:Timer ID="Timer1" runat="server" Interval="1000" OnTick="Timer1_Tick">
</asp:Timer>
<div class="form-area">
<div class="clock">
<p><img id="c-time" src="images/clock.png"/>Current Time
<span class="spanclass">
<asp:Label ID="CurrentTimeLabel" runat="server" Text="Label">
</asp:Label>
</span>
</p>
</div>
<p id="text">
<asp:Label ID="Processing" runat="server" Text="Label"></asp:Label>
<br />
<asp:Label ID="FilterLabel" runat="server" Text="Label"></asp:Label>
<br />Time Left for list to Refresh
<span class="spanclass">
<asp:Label ID="TimeLeftLabel" runat="server" Text=""></asp:Label>
</span>
</p>
</div>
<div class="clear"></div>
</ContentTemplate>
</asp:UpdatePanel>
и aspx.cs
protected void Timer1_Tick(object sender, EventArgs e)
{
CurrentTimeLabel.Text = DateTime.Now.ToShortTimeString();
if (SecondsLeft > 0)
{
SecondsLeft--;
}
else if (MinutesLeft > 0)
{
MinutesLeft--;
SecondsLeft = 59;
}
if (SecondsLeft < 10)
TimeLeftLabel.Text = " 0" + MinutesLeft + ":" + "0" + SecondsLeft;
else
TimeLeftLabel.Text = " 0" + MinutesLeft + ":" + SecondsLeft;
if (MinutesLeft == 5)
{
FilterLabel.Text = "";
}
if (MinutesLeft == 0 && SecondsLeft == 0)
{
function();
}
}
Спасибо заранее. Ждем справку
У вас есть ' ' в web.config? Он добавляется при переносе с .NET 1.1 и закручивает ваш ajax. Кроме того, есть способы отображения таймера в javascript, не делая обратной передачи каждую секунду. –
Ovidiu
Я использую VS 2012 с каркасом 4.0 –