我希望从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?
答案 0 :(得分:1)
Page_Load
可以被称为任何内容,它只是订阅了Load
类的Control
事件。它通常只定义一次,但如果您愿意,可以在其上放置更多处理程序,就像任何事件一样。
同样,protected
的{{1}}状态并不意味着很多。它真的可以在任何地方定义;它可以是私人的或公共的。 它是一个事件处理程序,因此连接到事件的调用列表。
对于你现在可能自己回答的第三个问题,这是一个事件。当用户请求页面时,当服务器触发Page_Load
事件时,就会调用每个订阅的处理程序。
答案 1 :(得分:1)
请注意,partial类继承自System.Web.UI.Page。一些很好的信息可以深入到那里。