- 2006年8月 3日 13:59
HttpModuleでゴリゴリやってたら、HttpModule内でポストバックの判定が必要になってしまいました。
ところが、IsPostBack()メソッドってPageにしか存在しないため使えないんですね。
仕方がないので、Page.IsPostBack()と同等の機能を実装することにします。
ポストバックとそうでないときで違うところと言えばViewStateの扱いなので、このあたりを実装すると良さそうです。
サンプルコード(C#)は下記のとおりです。
「this.httpApp」の部分は、各自の環境に合わせたHttpApplicationオブジェクトを指定してください。
#region ポストバック判定処理 ////// ポストバックかどうか判定する。 /// ///ポストバック時は true、ポストバックではないときは falseを返します。 ////// HttpModule では IsPostBack を実装していないため、「__VIEWSTATE」が Request.Params に存在するかでチェックしています。 /// private bool IsPostBack() { try { return (this.httpApp.Context.Request.Params["__VIEWSTATE"] != null); } catch { return false; } } #endregion
- Newer: Singletonパターンを使ったファイル変更監視
- Older: オブジェクトのディープコピー
Comments:0
Trackbacks:0
- TrackBack URL for this entry
- http://magicbox.sakura.ne.jp/mt/mt-tb.cgi/110
- Listed below are links to weblogs that reference
- 【ASP.NET】Page以外でポストバックかどうかを判別する from 爆裂!C#野郎