我正在尝试使用名为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时,我们希望在页面上的load事件运行之前运行它的加载。可能有一个非常简单的答案,我错过了。

编辑:我忘了注意我们用VB编写,而不是C#,因为很多人习惯使用ASP。

有帮助吗?

解决方案

您应该能够覆盖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