简体   繁体   中英

ASP.NET page_init event?

I am using ASP.NET 3.5 and i used earlier 1.1 i am having difficulty to find where can i attach/declare the page init event ?

In 1.1 there was auto generated code which used to have initialization code. Where we can add the page init method. So i am confused please help.

ASP.NET 2.0 changed the default designing/compilation model.

By default AutoEventWireup is set to true, which instructs compiler to automatically attach event handlers from the code behind using naming convention, so when you write:

protected void Page_Load(...)
{

}

it automatically puts this code in behind the scenes:

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

This was previously done by InitialiseComponent() (i believe).

Nonetheless, the answer is to write the code yourself:

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

Just declare this in your code behind:

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

You don't have to bind the event. Just create an event handler for it, and it will be bound automaticlaly:

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

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

you can add the page_init method in page's CS file. For example, if you have Default.aspx you can put the method in Default.aspx.cs

When you create a page in VS you will have the Page_Load method created for you. You can put your page_init code & other code for the page int the CS file.

PS: If you use VB as the server side code, you will have to put it in the VB file

It is no different in ASP.NET 3.5 - there is a code-behind page where you can declare/attach the OnInit event.

To see the code behind, right click on the file in the solution explorer and select View code .

just add yourself with the signature

protected void Page_Init() 
{
    //
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM