我只是一个初学者,所以,我的问题可能听起来有点愚蠢或基本。
我在asp.net学习编程,因此我看到很多事件都被事件激活了。然而,我没有在代码中找到任何内容,也没有找到定义哪个事件激活函数的类型签名。
那么,在像public void Page_Load (object sender, EventArgs e)
这样的函数中,哪些代码行确定哪个事件会使函数启动?它与功能的名称有什么关系吗?
谢谢:))
答案 0 :(得分:3)
Page_Load等函数由ASP.NET以特定顺序调用。您无法配置首先触发的内容。我们的想法是,您可以按照所需的特定顺序覆盖所需的代码。
以下是MSDN Page Lifecycle信息,其中介绍了可以覆盖的事件以及它们的顺序。
答案 1 :(得分:2)
在ASP.Net 1.1中,我们曾经在文件后面的每个代码中都有以下系统生成的代码。
public class Default : System.Web.UI.Page
{
// ----- System generated code
protected System.Web.UI.WebControls.TextBox Name;
protected System.Web.UI.WebControls.TextBox Email;
public Default()
{
Page.Init += new System.EventHandler(Page_Init);
}
// ----- System generated code
private void Page_Init(object sender, System.EventArgs e)
{
}
}
它基本上将方法注册到页面事件。它们只不过是让文件后面的代码变脏了。
从ASP.Net 2开始,他们将系统生成的代码移动到设计器文件中,文件后面的代码变得干净易读。
public class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, System.EventArgs e)
{
}
-- OR --
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
}
}
哪些代码行决定了哪个事件将成为 功能开始?
ASP.Net使用转换优于配置方法来注册事件。这意味着,您可以使用以下事件名称命名受保护的方法,并且该页面将知道如何附加这些事件。例如, Page_Init , Page_Load 和 Page_PreRender
此外,您可以根据需要显式覆盖这些事件。