Im folgenden Code möchte ich Button1 deaktiviert werden, bis der Countdown auf "sdur" Minuten sagen 3 Minuten. Aber das Verhalten der Schaltfläche ändert sich nicht. Bitte helfen Sie. Ich habe auch versucht Button1.Enabled = true; noch keine Wirkung. Vielen Dank im VorausKann ASP.NET Button nicht mit C# im Backend dynamisch in timer_tick Methode aktivieren/deaktivieren?
protected void timer1_tick(object sender, EventArgs e)
{
int rem_minutes = (Int32)DateTime.Parse(Session["timeout"].ToString()).Subtract(DateTime.Now).TotalMinutes;
if (sdur <rem_minutes)
Button1.Attributes.Add("Enabled", "False");
else
Button1.Attributes.Add("Enabled", "True");
if (0 > DateTime.Compare(DateTime.Now, DateTime.Parse(Session["timeout"].ToString())))
{
lblTimer.Text = string.Format("Time Left: 00:{0}:{1}", ((Int32)DateTime.Parse(Session["timeout"].ToString()).Subtract(DateTime.Now).TotalMinutes).ToString(), ((Int32)DateTime.Parse(Session["timeout"].ToString()).Subtract(DateTime.Now).Seconds).ToString());
}
else
{
timer1.Enabled = false;
Response.Redirect("Logout.aspx");
}
}
Ich versuchte in Java-Skript zu.
htmlTable.Append(" <script> var seconds = " + ttime + "; function secondPassed() { var minutes = Math.round((seconds - 30)/60); var remainingSeconds = seconds % 60; if (remainingSeconds < 10) { remainingSeconds = '0' + remainingSeconds; } document.getElementById('countdown').innerHTML = 'Time Left :- ' + minutes + ':' + remainingSeconds; if (seconds == 0) { clearInterval(countdownTimer) ; document.getElementById('Button1').click() ; } else { seconds--; } if(minutes<=" + sdur + ") { document.getElementById('Button1').disabled=false; } } var countdownTimer = setInterval('secondPassed()', 1000); </script>");
Verwenden Sie den Debugger und Schritt durch den Code .. der Timer wird ausgelöst, basierend auf dem 'timer1_tick Ereignis und Intervall' vielleicht können Sie sehen, wo Sie falsch gehen, wenn Sie durch den Code gehen .. auch 'Ich denke, Sie sollten die setzen Schaltfläche in der Inhaltsvorlage, so dass sie deaktiviert wird, wenn das Update-Panel aktualisiert wird. Wenn Sie updatepanel verwenden ' – MethodMan
Dieser Code wird nur auf der Serverseite ausgeführt und wirkt sich nicht auf die Clientseite aus, bis die Seite aktualisiert wird. – Rick
Ich habe den Debugger verwendet, Die Logik funktioniert gut. Ich denke, wie Rick sagte, bis es die Seite aktualisiert, wirkt sich das nicht aus. Also, was ist die Lösung @Rick? –