2008-10-23 10 views
3

J'essaye d'aider un autre programmeur avec une page appelée Default.aspx avec une section de code-behind, et malheureusement je suis à un peu de perte.Page.Load problème dans ASP.NET 2.0

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' 

Et dans le OverheadClass nous avons

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

L'effet recherché est lorsque la OverheadClass est héritée, nous voulons sa charge à courir avant l'événement de charge sur les pistes de page. Il y a probablement une réponse très simple à cette question qui me manque. Edit: J'ai oublié de noter que nous écrivons en VB, et non C# comme vous êtes habitué à ASP.

Répondre

10

Vous devriez être en mesure de passer outre le OnLoad et appeler la OnLoad de classe de base, puis votre classe, par exemple:

C# Version

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

    // Do some stuff here 
} 

VB Version

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

    MyBase.OnLoad(e) 

    ' Do some stuff here 

End Sub 
+0

Ceci est absolument la bonne réponse, comme _Default.Page_Load ne remplace pas OverheadClass.Sub_OverheadClass_Load. Une autre option pourrait être d'avoir OverheadClass.Sub_OverheadClass_Load sur-relancer l'événement, mais je pense que cela causerait des effets secondaires NASTY. –

+0

Le gars est en train de coder en VB. Essayez de rester en VB;) –

+0

@Maxim Bon point! – mattruma

3

En VB ce serait:

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

Votre page par défaut héritiez 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 

Et OverheadClass devrait hériter 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 
0
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