У меня проблема с таймером внутри UpdatePanel. Я хочу установить обратный отсчет (35 минут), и когда я нажму кнопку, он начнет обратный отсчет, но ничего не произойдет, когда я нажму на него. Это внутри страницы контента, кстати.Как использовать таймер в MasterPage с помощью UpdatePanel?
ASP код:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<div class="container">
<div style="position:fixed; border:dotted 2px; z-index:1">
<asp:UpdatePanel ID="upTiempo" UpdateMode="Conditional" runat="server" ViewStateMode="Enabled">
<ContentTemplate>
<i class="fa fa-clock-o fa-3x"></i><asp:Label ID="lbMins" CssClass="h2" runat="server" Text="35" Font-Bold="True"></asp:Label><asp:Label ID="lbPts" runat="server" CssClass="h2" Font-Bold="true">:</asp:Label>
<asp:Label ID="lbSecs" CssClass="h2" runat="server" Text="00" Font-Bold="True"></asp:Label>
<asp:Button ID="btnEmpezar" runat="server" Text="Empezar" OnClick="btnEmpezar_Click"/>
<asp:Timer ID="tmTimer" runat="server" Interval="1000" OnTick="tmTimer_Tick"></asp:Timer>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="tmTimer" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
</div>
А вот C# код:
int mins = 35;
int secs = 0;
protected void Page_Load(object sender, EventArgs e)
{
tmTimer.Enabled = false;
}
protected void tmTimer_Tick(object sender, EventArgs e)
{
if (secs < 0)
{
secs = 59;
mins--;
}
if (secs < 10)
lbSecs.Text = "0" + secs;
else
lbSecs.Text = "" + secs;
if (mins < 10)
lbMins.Text = "0" + mins;
else
lbMins.Text = "" + mins;
if (secs == 0 && mins == 0)
{
lbMins.Text = "00";
lbSecs.Text = "00";
tmTimer.Enabled = false;
}
secs--;
upTiempo.Update();
}
protected void btnEmpezar_Click(object sender, EventArgs e)
{
tmTimer.Enabled = true;
}
Я делаю что-то не так? Что-то не хватает? Должен ли я убить себя?
Ну ... Это ididn't work ... Я добавил точку останова, и когда страница загружается, она отправляет меня на главную страницу кода C# ... – OPMUANRK
Спасибо за помощь, кстати, – OPMUANRK
Хорошо, я не мог определить основные проблемы;) но, тем не менее, держите свои таймеры за пределами своих панелей обновления. – DerpyNerd