このコードが機能しない理由を教えてください。ポストバック発火がないためだと思います。ポストバックを有効にするにはどうすればよいですか? ポストバックを起動してメソッドを実行するタイマーを有効にしようとしています (ここでは簡略化されています)。これを .NET 2.0 に実装する必要があるため、UpdatePanel または Ajax Timer を使用できません。
出力は次のとおりです。
ページ読み込み
タイマーティック
my_method
しかし、ラベルは表示されません。
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
System.Diagnostics.Trace.WriteLine("Page Load");
System.Timers.Timer timer = new System.Timers.Timer();
timer.Interval = 5000;
timer.Enabled = true;
timer.Start();
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
}
protected void timer_Elapsed(object sender, EventArgs e)
{
System.Diagnostics.Trace.WriteLine("Timer Tick");
my_method();
}
protected void my_method()
{
System.Diagnostics.Trace.WriteLine("my_method");
Label1.Visible = true;
}
}