zukucode
主にWEB関連の情報を技術メモとして発信しています。

ASP.NET 外部クラスでページオブジェクトを取得する

Webページ(aspx)のコードビハインドでは以下のようにページオブジェクトのプロパティでタイトルなどを動的に設定できます。

WebForm1.aspx.vb
Page.Title = "foo"

これを外部クラスで行いたい場合は同じようにするとエラーになってしまいます。

Class1.vb
'エラーになる
Page.Title = "foo"

以下のようにすれば現在ページのPageオブジェクトを取得できます。

Class1.vb
Dim CurrentPage As Page = CType(HttpContext.Current.CurrentHandler, Page)
CurrentPage.Title = "bar"

ASP.NET 外部クラスでセッションやリクエスト情報を取得すると同様、HttpContext.Currentを使用します。

コードビハインド以外のクラスでセッションなどのWEB特有の情報を取得するにはちょっとした工夫が必要です。


関連記事