ASP.NET page_init事件?

时间:2010-11-02 10:48:04

标签: asp.net

我正在使用ASP.NET 3.5并且我之前使用过1.1我很难找到哪里可以附加/声明页面init事件?

在1.1中,有自动生成的代码,它曾经有过初始化代码。我们可以在哪里添加页面init方法。所以我很困惑,请帮助。

7 个答案:

答案 0 :(得分:62)

ASP.NET 2.0更改了默认的设计/编译模型。

默认情况下, AutoEventWireup 设置为true,指示编译器自动执行 使用命名从后面的代码中附加事件处理程序 惯例,所以当你写:

protected void Page_Load(...)
{

}

它会自动将此代码放在幕后:

this.Load += new EventHandler(this.Page_Load)

以前是由 InitialiseComponent()完成的(我相信)。

尽管如此,答案是自己编写代码:

protected void Page_Init(object sender, EventArgs e)
{
    // do the bartman
}

答案 1 :(得分:46)

只需在你的代码中声明:

protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
    }

答案 2 :(得分:6)

您不必绑定事件。只需为它创建一个事件处理程序,它将自动绑定:

protected void Page_Init(object sender, EventArgs e) {
  ...
}

答案 3 :(得分:2)

对于那些使用asp / vb.net的人,您需要在后面的代码中声明: 受保护的子Page_Init(ByVal sender As Object,ByVal e As EventArgs)处理Me.Init

答案 4 :(得分:0)

您可以在页面的CS文件中添加page_init方法。例如,如果您有Default.aspx,则可以将该方法放在Default.aspx.cs

在VS中创建页面时,您将为您创建Page_Load方法。你可以把你的page_init代码& CS文件中页面的其他代码。

PS:如果您使用VB作为服务器端代码,则必须将其放在VB文件中

答案 5 :(得分:0)

在ASP.NET 3.5中没有什么不同 - 有一个代码隐藏页面,您可以在其中声明/附加OnInit事件。

要查看背后的代码,请右键单击解决方案资源管理器中的文件,然后选择View code

答案 6 :(得分:0)

只需添加签名

即可
protected void Page_Init() 
{
    //
}