【问题标题】:ASP.net Page_Load method logicASP.net Page_Load 方法逻辑
【发布时间】:2014-06-18 12:24:55
【问题描述】:

我希望从 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 类中的任何其他方法都可以访问它,任何派生类也可以访问它

  • sender 和 e 大概来自方法的调用者,它是某处页面生命周期的一部分..

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

Page_Load 没有其他实现吗?

Page_Load 背后的 OOP 逻辑是什么?

什么启动 Page_Load?

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      请注意,部分类继承自 System.Web.UI.Page。一些很好的信息可以挖掘到那里。

      【讨论】:

      • 是的,真实的故事。我会确保检查出来。我正在寻找更多有关显示内容的信息。许多访问修饰符和部分这个,部分漂浮的东西。短短几句话就包含了很多复杂性。
      猜你喜欢
      • 2018-04-30
      • 1970-01-01
      • 1970-01-01
      • 2013-11-11
      • 1970-01-01
      • 1970-01-01
      • 2011-12-26
      • 2011-12-03
      • 2011-09-03
      相关资源
      最近更新 更多