- PR -

クライアントコールバックをタイマーで実装する方法

1
投稿者投稿内容
キレネン
会議室デビュー日: 2008/08/04
投稿数: 9
投稿日時: 2008-08-04 23:29
@ITにある以下の記事から、ユーザがボタン押下時に
クライアントコールバックを発生させる方法が分かりました。
http://www.atmarkit.co.jp/fdotnet/dotnettips/447aspclicallback/aspclicallback.html

このサンプルでは、ボタンを押下したタイミングでコールバックを
発生させているのですが、これを改造して、タイマーで自動的に
コールバックを発生させたいと考えています。

開発環境はVisualStudio2005です。
とりあえず、ASP.NET AJAX-Extended Web Siteでプロジェクトを作成し
サンプルのコードを実装しました。
サンプルは動いたので、そこからボタンを取り払い、
代わりにTimerのコントロールを配置しました。
そしてTimer_Tickメソッドを作り、その中に
Page.ClientScript.GetCallbackEventReferenceメソッドを配置しました。

こうすればタイマーの度にコールバックを発生させる事が出来ると
思ったのですが、問題が一つ起こりました。

サンプルコードでは、Page_Loadメソッド内で
Page.ClientScript.GetCallbackEventReferenceを呼んだ後、
『btnSrch.OnClientClick = ceRef + ";return false;";』を記述しています。
こうする事で、ボタンのクリック処理をJavaScriptの関数に
委譲していると思います。
ここを、一体どのように作り変えれば良いかが分かりません。

この件について解決方法をご存知の方がいらっしゃればご教示下さい。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-08-05 07:09
btnSrch は、asp:button です。これは、クライアントでは submit になります。そのため、このボタンのイベントが false を返さないと、サーバへ提出されてしまいます。よって "return false;" が追加されています。

Javascript でタイマーになるコントロールに、クライアント スクリプトの関数を仕込めば ok です。
キレネン
会議室デビュー日: 2008/08/04
投稿数: 9
投稿日時: 2008-08-05 22:54
Jitta様

ご教示頂きまして、ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)