父类代码
Namespace WebModules.PageBase    Public Class page
        Inherits System.Web.UI.Page        Protected Overrides Sub OnInit(ByVal e As EventArgs)
            MyBase.OnInit(e)
            AddHandler Me.Load, AddressOf PageBase_Load        End Sub        Private Sub PageBase_Load(ByVal sender As Object, ByVal e As EventArgs)
           'do sth
         end sub
    end class
end namespace子类
Namespace WebModules.Test.Web    Public Class WebForm5
        Inherits Nill.WebModules.PageBase.page#Region " Web 窗体设计器生成的代码 "        '该调用是 Web 窗体设计器所必需的。
        <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
            'AddHandler Me.Load, AddressOf Page_Load //// ------------这句话不用也可会加载page_load 奇怪..........
        End Sub        '注意: 以下占位符声明是 Web 窗体设计器所必需的。
        '不要删除或移动它。
        Private designerPlaceholderDeclaration As System.Object        Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
            'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
            '不要使用代码编辑器修改它。
            
            InitializeComponent()
        End Sub#End Region        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '在此处放置初始化页的用户代码            Response.Write("555555-")
        End Sub    End Class
End Namespace

解决方案 »

  1.   

    我查找过一些帖子,很多人反映page_load不能加载是因为没了'AddHandler Me.Load, AddressOf Page_Load 这句话可是我不用这语句也可以加载我改了半天,怎么改都是先加载子类的page_load,再到父类的pagebase_load程序会在哪里把子页面的page_load给加载了啊?找不着
      

  2.   

    这跟事件处理函数的绑定的前后有关系>>>'AddHandler Me.Load, AddressOf Page_Load //// ------------这句话不用也可会加载page_load 奇怪..........因为你用了Private Sub Page_Load... Handles MyBase.Load试试
    Imports SystemNamespace WebModules    Public Class ....
            Inherits System.Web.UI.Page        Protected Overrides Sub OnInit(ByVal e As EventArgs)
      
    AddHandler Me.Load, AddressOf PageBase_Load  '先绑定
    MyBase.OnInit(e)
            End Sub        Private Sub PageBase_Load(ByVal sender As Object, ByVal e As EventArgs)
               Response.Write("base:555555-")
             end sub
        end class...    Public Class WebForm5
          .....#Region " Web 窗体设计器生成的代码 "        '该调用是 Web 窗体设计器所必需的。
            <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
                AddHandler Me.Load, AddressOf Page_Load '<--使用 AddHandler        End Sub        '注意: 以下占位符声明是 Web 窗体设计器所必需的。
            '不要删除或移动它。
            Private designerPlaceholderDeclaration As System.Object        Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
                'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
                '不要使用代码编辑器修改它。
                
                InitializeComponent()
            End Sub#End Region        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 'Handles MyBase.Load '<--注释掉Handles
                '在此处放置初始化页的用户代码            Response.Write("sub:555555-")
            End Sub    End Class
    End Namespace
      

  3.   

    faint 每个也面都要改了...........是不是版本不同所以,那些预先写进页面的代码也不同?还是设置的问题?