おのれ鍋奉行が!

共通処理用Page派生クラス(commonクラス)

最終更新:

lmes2

- view
メンバー限定 登録/ログイン

共通処理用Page派生クラス(commonクラス)


概要

  1. system.web.ui.page クラスを継承するcommonクラスを作成する。
  2. アプリケーション共通の処理をcommonクラスに定義する。
  3. アプリケーションの各ファイルが、commonクラスを継承することによって、共通処理を実現する。

default.aspxの場合
system.web.ui.page クラス 
 
 ↓継承
 
common クラス  ←こいつに共通処理を書く
 
 ↓継承
 
_default クラス
 

元ネタ:

前提条件



手順

[ソリューションエクスプローラ] -> webサイトを右クリック -> 「新しい項目の追加」

not found (119.jpg)

「クラス」を選択 -> 「追加」

not found (120.jpg)

「はい」を押す。

not found (121.jpg)

「app_code」フォルダと、「class1.vb」ファイルが追加されている。

not found (122.jpg)

App_Code/Class1.vbを以下のように変更。
Imports System
Imports System.Collections
Imports System.Web.UI
Imports System.Web.UI.WebControls
 
Public Class common
    Inherits Page
 
    Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Response.Write("あえて言わせてもらおう!")
    End Sub
End Class
 

default.aspx.vbを以下のように変更。
Partial Class _default
    Inherits common
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Response.Write("テストであると!")
    End Sub
End Class
 

実行すると以下のようになる。
commonクラスのpage_loadイベントが先に処理され、
その後、default.aspx.vbのpage_loadイベントが処理されているのがわかる。

not found (123.jpg)

次に、違うwebフォームにcommonクラスを継承させる。
default2.aspx.vbを以下のように変更。
Partial Class Default2
    Inherits common
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Response.Write("別ページであると!")
    End Sub
End Class
 

実行すると以下のようになる。
commonクラスのpage_loadイベントは処理されているが、
default.aspxとは別のwebフォームであるのがわかる。

not found (127.jpg)
記事メニュー
目安箱バナー