ASP.net Page_Load方法逻辑

时间:2014-05-01 22:21:02

标签: c# asp.net visual-studio-2010 visual-studio-2012

我希望从OOP角度将逻辑放在Page_Load方法中时,能够全面,高层次地理解。

代码如下:

public partial class _Default : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
         Label1.Text = "Hello";
    }
}

我认为我有一个坚实的理解,但我希望有人确认我的观察,并指出我正在做的任何错误或错误的假设。

据我所知,

  • _Default类具有公共可访问性,并且继承自System.Web.UI.Page

  • 这是一个部分类,所以这只是实现的一部分,另一部分位于其他地方

  • Page_Load方法返回void并受到保护,这意味着_Default类中的任何其他方法都可以访问它,任何派生类也可以访问它

  • 发件人和e可能来自该方法的调用者,该方法是某个页面生命周期的一部分..

除了这些观察之外,我还有一两个问题:

在任何地方都没有其他的Page_Load实现吗?

Page_Load背后的OOP逻辑是什么?

什么启动Page_Load?

2 个答案:

答案 0 :(得分:1)

Page_Load可以被称为任何内容,它只是订阅了Load类的Control事件。它通常只定义一次,但如果您愿意,可以在其上放置更多处理程序,就像任何事件一样。

同样,protected的{​​{1}}状态并不意味着很多。它真的可以在任何地方定义;它可以是私人的或公共的。 它是一个事件处理程序,因此连接到事件的调用列表。

对于你现在可能自己回答的第三个问题,这是一个事件。当用户请求页面时,当服务器触发Page_Load事件时,就会调用每个订阅的处理程序。

答案 1 :(得分:1)

请注意,partial类继承自System.Web.UI.Page。一些很好的信息可以深入到那里。