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

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

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

Re[2]: [ASP]メッセージボックスの表示でエラー


(過去ログ 101 を表示中)

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

■60366 / inTopicNo.1)  [ASP]メッセージボックスの表示でエラー
  
□投稿者/ @ (1回)-(2011/06/29(Wed) 18:29:13)

分類:[.NET 全般] 

[環境] VS2008 .Net Framework 3.5

現在、UpdatePanel内にあるTimerのTickからメッセージボックスを表示しようとしています。
メッセージの表示は以下のように行っています。

string message = string.Format("alert(\"{0}\");", s);
ScriptManager.RegisterClientScriptBlock(this.updatePanel, this.GetType(), "NotifyMessage", message, true);

上記の方法でメッセージボックスの表示は行えるのですが、表示されて一定時間(15分)経過してからOKボタンを押すと
Sys.WebForms.PageRequestManagerParserErrorExceptionが発生してしまいます。
(15分未満でOKボタンを押すとエラーは発生しない)

原因はAjaxの電文にゴミが入ることでこのエラーが発生するということは分かったのですが、対処方法が分かりませんでした。
IISのASPセッションタイムアウトを10時間にしてみたり、@PageのTraceをfalseにしてみたりと試してみたのですが改善しません。

何か情報がありましたらお願いします。

引用返信 編集キー/
■60367 / inTopicNo.2)  Re[1]: [ASP]メッセージボックスの表示でエラー
□投稿者/ 逆運の覇者 (24回)-(2011/06/29(Wed) 19:15:26)
http://weblogs.asp.net/leftslipper/archive/2007/02/26/sys-webforms-pagerequestmanagerparsererrorexception-what-it-is-and-how-to-avoid-it.aspx
より


1.Response.Write()を呼ぶ
2.レスポンスフィルタを頻繁に使用しない
  できればレスポンスレベルでなく、コントロールレベルで
3.HttpModulesをレスポンスフィルタと同じにする
4. サーバーのトレースを有効にする
5. Server.Transfer()を呼ぶ
別の手段として、非同期ポストバックの通常のポストバックを行う
引用返信 編集キー/
■60385 / inTopicNo.3)  Re[2]: [ASP]メッセージボックスの表示でエラー
□投稿者/ @ (2回)-(2011/06/30(Thu) 19:29:15)
レスありがとうございます
ASPの知識が無く、いろいろ勘違い対応をしているかもしれませんが試してみました


> 1.Response.Write()を呼ぶ
→ Response.Writeでメッセージボックスを表示するようにしたところUpdatePanel周りのレイアウトが崩れてしまいました

> 2.レスポンスフィルタを頻繁に使用しない
>   できればレスポンスレベルでなく、コントロールレベルで
→ Timerコントロールからコントロールレベルでメッセージボックスを出す方法が分かりませんでした

> 3.HttpModulesをレスポンスフィルタと同じにする
→ すみません、どう対処すればよいか分かりませんでした

> 4. サーバーのトレースを有効にする
→ サーバトレースを有効にしても現象は変わりませんでした

> 5. Server.Transfer()を呼ぶ
→ Server.Transferで自ページへ飛ばしてPage_Loadで表示したところUpdatePanel周りのレイアウトが崩れてしまいました

> 別の手段として、非同期ポストバックの通常のポストバックを行う
→ すみません、どう対処すればよいか分かりませんでした


いろいろやってみましたが15分を超えない場合はエラーが発生しないのでタイムアウトなのではないかと思い試行錯誤していますorz

引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -