- - PR -
WebフォームでTimerを使用したい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-12-20 17:55
定期的にDBの値をWebフォームのデータグリッドに表示するプログラムを作ろうとしています。
定期的という部分をTimerを使用して実現しようと思っていますが、 とりあえずTimerに慣れるため以下のサイトを見ました。 http://www.atmarkit.co.jp/fdotnet/dotnettips/374timerstimer/timerstimer.html VisualStadioを使用している場合は、「Timerコンポーネント」をフォームに ドラッグ&ドロップするだけとあったので、そのとおりにしてみましたが 指定時間の間隔になっても動いてくれません。 何故動かないのか、msサイトやここの過去ログなどを調べてみましたが、 いまだ解決に至っておりません。 何か根本的な部分がいけない気もしますが、見当がつきません。 おわかりになる方がいたら教えてください。 「コード抜粋」 // VisualStadioが自動生成したコード private void InitializeComponent() { this.timer1 = new System.Timers.Timer(); ((System.ComponentModel.ISupportInitialize)(this.timer1)).BeginInit(); // // timer1 // this.timer1.Enabled = true; this.timer1.Interval = 500; this.timer1.Elapsed += new System.Timers.ElapsedEventHandler(this.timer1_Elapsed); this.Load += new System.EventHandler(this.Page_Load); ((System.ComponentModel.ISupportInitialize)(this.timer1)).EndInit(); } private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { // 自分でコードを書いたのはこの部分くらい Label1.Text += "時間です "; } |
|
投稿日時: 2006-12-20 18:02
Webならサーバーサイドでタイマーを使っても意味がありません。
JavaScriptなどクライアント側でタイマーを使います。 というより、まずWebアプリの仕組みを勉強したほうがいいと思います。 |
|
投稿日時: 2006-12-20 18:19
burton999さん、返信ありがとうございます。
やはり根本的に違ってたようですね。(^_^;A WEBアプリの仕組みからしてできない気はしていたんですが、 @ITの説明文が実現可能な文章にも読み取れたので、もしかしたら・・・ と思っていました。 教えのとおり、タイマ処理はJavaScriptで行おうと思います。 ありがとうございました。 |
|
投稿日時: 2006-12-20 18:30
定期的に更新するだけならmetaタグを利用するのが一番てっとりばやいでしょうね。
<meta http-equiv="refresh" content="5"> この記述で5秒ごとにページが再読み込みされます。 |
|
投稿日時: 2006-12-21 06:36
これからASP.NETを勉強するのでしたら
ASP.NET 2.0を使用することをお勧めします。 ASP.NET 2.0 AJAXに「Timer」というサーバーサイドの コントロールがあります。 JavaScriptの知識が不要ですから「Timer」を 利用したらどうでしょうか。 _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 |
|
投稿日時: 2006-12-21 10:17
>どっとねっとふぁんさん
javascriptで実現するということで、setIntervalを使用して定期的にsubmitさせようと 思ってましたが、metaタグによる方法もあるんですね。 こちらのほうがスマートなのでmetaで実現しようと思います。 >Accessさん 実はAJAXによる実現も話題にあがっていて、これから調べる予定でした。 単に実現するだけならmetaで良いと思いますが、今後AJAXを取り入れていきたいという ニーズもあるため、AJAXによる実現方法を確認の上、天秤にかけたいと思っています。 ご返答ありがとうございました。 |
|
投稿日時: 2006-12-21 10:41
ちなみにmetaタグで実装すると、IsPostBackが毎回Falseになりますので注意してください。
|
1