25

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.

7 Answers 7

62

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
}
Sign up to request clarification or add additional context in comments.

1 Comment

The only problem is that there is no autocomplete available on this. You have to know exact syntax of the event handler.
49

Just declare this in your code behind:

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

4 Comments

But for event attachment we need to do something like page.OnInit += evnetHnaglerName(Sender, EventArgs) where is that declared ... ? that is where i am more confused.
no, because you are overriding the method. This is all taken care of for you.
It's not like 1.1 where you can see the code. They've hidden a lot of it in the other part of the partial class.
@Anil Namde - have a look at my answer, might help your confusion.
7

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) {
  ...
}

Comments

3

For those using asp/vb.net you need to declare in code behind as: Protected Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Init

Comments

0

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

Comments

0

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.

Comments

0

just add yourself with the signature

protected void Page_Init() 
{
    //
}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.