質問

コードビハインドセクションを含むDefault.aspxというページで別のプログラマーを支援しようとしていますが、残念ながら少し困っています。

 Partial Class _Default
 Inherits OverheadClass
 'A bunch of global variables here'

 Private Sub page_load(ByVal sender As Object, ByVal e As System.Eventarts) Handles Me.Load
 'Function goes here'

そして、OverheadClassには

 Public Sub Sub_OverheadClass_Load(ByVal sender As Object, ByVal e as System.EventArgs) Handles MyClass.Load

望ましい効果は、OverheadClassが継承されたときに、ページのロードイベントが実行される前にロードを実行することです。おそらく、これに対する非常に簡単な答えがあります。私は行方不明です。

編集:ASPに慣れているC#ではなく、VBで記述していることを忘れていました。

役に立ちましたか?

解決

OnLoadをオーバーライドして、最初に基本クラスのOnLoadを呼び出し、次にクラスを呼び出すことができます。例:

C#バージョン

protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);

    // Do some stuff here
}

VBバージョン

Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)

    MyBase.OnLoad(e)

    ' Do some stuff here

End Sub

他のヒント

VBの場合:

Private Sub page_load(ByVal sender As Object, ByVal e As System.Eventarts) Handles Me.Load
  Mybase.Sub_OverheadClass_Load(e)
End Sub

デフォルトページはOverheadClassを継承する必要があります

   Partial Public Class _Default
        Inherits OverheadClass

        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            'Do some page stuff'
        End Sub
    End Class

そして、OverheadClassはSystem.Web.UI.Pageを継承する必要があります

Public Class OverheadClass
    Inherits System.Web.UI.Page
    Public Sub Sub_OverheadClass_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyClass.Load
        'Do some base stuff'
    End Sub
End Class
 Partial Class OverheadClass
    Inherits System.Web.UI.Page

    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs) 
       MyBase.OnLoad(e)
    End Sub
End Class



Partial Class _Default
    Inherits OverheadClass

    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs) 
       MyBase.OnLoad(e)
    End Sub
End Class
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top