none
画面遷移による入力文字の消失を避けるには RRS feed

  • 質問

  • ASP.NET入門にWEBチャットを作っているのですが
    利用者が何もしなくても一定時間でログをリロードをさせたかったので
    メタタグを利用して一定時間でページをリロードするようにしました
    ここまではよかったのですが
    メタタグによって発生したリロード時間になったとき
    テキストボックスに入力中の文字が画面遷移によって消えてしまいます
    しかたないのでテキストボックスとログ表示をフレームで区切って対応しましたが

    フレームをつかわないでも
    テキストボックスの入力を阻害することなく
    特定のコントロールだけ更新する方法はありませんか?

     

    2006年9月12日 2:34

回答

すべての返信

  • コールバックか Ajax(Atlas) を使うかのどちらかです。

    コールバックのサンプルは
    http://blogs.sqlpassj.org/mitsugi/archive/2006/01/17/15833.aspx
    な感じなので、これを JavaScript のTimer を使って、呼び出すなどの工夫が必要です。

    2006年9月12日 3:34
  • おがわみつぎさんも書かれているように AJAX を利用するのが手軽ですね。
    Microsoft AJAX Library と ASP.NET AJAX Extension (旧Atlas) であれば、UpdatePanel というパネルを配置しておくことで、そのパネルの中身だけを更新するということができます。
     
    また、AJAX ではリクエスト-レスポンス方式であるのに対し、CHAT はユーザが何もしないでも、ほかのユーザが発言をどんどん行うことで、レスポンスばかりが発生することになります。こういう場合には Comet を利用すると良いようですが、ASP.NET から簡単に利用できるライブラリがあるかどうかは、ちょっと知りません。
    若干タイムリーな話題として Comet を利用した CHAT で http://www.lingr.com/ なんてのが最近リリースされています。
    2006年9月12日 5:46