C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: [AJAX EXTENSIONS]通常or非同期通信 の判断


(過去ログ 38 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■19869 / inTopicNo.1)  [AJAX EXTENSIONS]通常or非同期通信 の判断
  
□投稿者/ wao (1回)-(2008/05/31(Sat) 14:14:39)

分類:[ASP.NET (C#)] 

環境等:VisualStudio2005/Windows2003Server/ASP.Net(C#2.0)

AJAX Extensionsを使用し、UpdatePanelで簡単なAJAXを試しているところです。
やってみているのは、TextBox(txtCode、txtName)2つをUpdatePanel上に配置し、
txtCodeにコードを入力してフォーカスが移動した際に、txtNameにはコードに対応する名称を表示するというものです。
また、画面には「登録ボタン」があり、押下時には画面全体をポストバックして
入力されているデータをデータベースに登録します。

txtCodeのTextChangedイベント処理で、コードから名称を取得する処理を書いていますが、
サーバ側の処理で、通常のポストバックでの処理か、非同期通信によるポストバックかを判断することはできるのでしょうか?
なぜそういったことを考えたか、というと、非同期通信中に例外が発生した場合、
既定ではクライアント側にJavaScriptのアラートでメッセージが表示されます。
ただ、非同期通信の際の例外は特に処理せず、上記の例でいうと特に名称は表示しないだけで終了させたいです。
ですが、ページ全体のポストバックの際のTextChangedイベント処理で例外が起きた場合、
エラーページに遷移するなど別の処理をしたいと考えているからです。

長くなってしまったのですが、
通常のポストバックでの処理か、非同期通信によるポストバックか判断する方法することが可能か、
また、その方法についてアドバイスいただけないでしょうか。
よろしくお願いします。
引用返信 編集キー/
■19911 / inTopicNo.2)  Re[1]: [AJAX EXTENSIONS]通常or非同期通信 の判断
□投稿者/ も (21回)-(2008/06/02(Mon) 05:49:54)
ちょっと疑問に思ったのでレスします

No19869 (wao さん) に返信
# というと、非同期通信中に例外が発生した場合、
# 既定ではクライアント側にJavaScriptのアラートでメッセージが表示されます。
# ただ、非同期通信の際の例外は特に処理せず、上記の例でいうと特に名称は表示しないだけで終了させたいです
つまりクライアント側での例外処理を変えたいということでしょうか?
仮にポストバックが非同期かどうか判断できたとして,現状のクライアント側で何が出来るようになるのでしょうか?
引用返信 編集キー/
■19989 / inTopicNo.3)  Re[2]: [AJAX EXTENSIONS]通常or非同期通信 の判断
□投稿者/ wao (2回)-(2008/06/03(Tue) 16:07:34)
例外処理として、非同期通信の場合はクライアントで表示させるエラーメッセージを設定しています。
ただ、イベントハンドラ自体は通常のポストバック時にも処理される可能性があるため、
例外処理内容を非同期/通常でわけようと考えました。

結論として、ScriptManagerのIsInAsyncPostBackプロパティで取得可能とわかり、解決しました。

どうもありがとうございました。

No19911 (も さん) に返信
> ちょっと疑問に思ったのでレスします
>
> ■No19869 (wao さん) に返信
> # というと、非同期通信中に例外が発生した場合、
> # 既定ではクライアント側にJavaScriptのアラートでメッセージが表示されます。
> # ただ、非同期通信の際の例外は特に処理せず、上記の例でいうと特に名称は表示しないだけで終了させたいです
> つまりクライアント側での例外処理を変えたいということでしょうか?
> 仮にポストバックが非同期かどうか判断できたとして,現状のクライアント側で何が出来るようになるのでしょうか?
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -