Home >Backend Development >C#.Net Tutorial >Explanation of the life cycle of WebForm in Asp.Net

Explanation of the life cycle of WebForm in Asp.Net

巴扎黑
巴扎黑Original
2017-08-08 11:17:201428browse

This article mainly introduces you to the relevant information about the WebForm life cycle in Asp.Net. The article introduces a very galaxy, which has a certain reference and learning value for everyone. Friends who need it will follow the editor to learn together. Bar.

Preface

This article mainly introduces to you the relevant content about the WebForm life cycle in Asp.Net, and shares it for your reference and study. , let’s take a look at the detailed introduction:

1. The concept of Asp.Net page life cycle

When we enter the URL in the browser address bar and press Enter to view the page, a request request will be sent to the server-side IIS). The server will determine the requested page sent. When the TTP page handler class is fully recognized, the ASP.NET runtime will call the ProcessRequest method of the handler to process the request and create the page object. Normally, there is no need to change the implementation of this method because it is provided by the Page class. The ProcessRequest method of the next created page object takes the page through various stages: initialization, loading view state information and postback data, loading user code for the page, and executing postback server-side events. Afterwards, the page enters display mode: the updated view state is collected, HTML code is generated and subsequently sent to the output console. Finally, the page is unloaded and the request is considered completed. The processing of this series of events completed by the page object ProcessRequest method is the Asp.Net page life cycle.

2. Why you need to understand the Asp.Net page life cycle

Because understanding the Asp.Net page life cycle can help developers in life Write the program at the appropriate stage of the cycle to achieve the desired effect. In addition, if you want to develop a custom control yourself, you must be familiar with the life cycle of the page in order to properly initialize the control, populate the control's properties with view state data, and run any Control behavior code. In other words, only if you are familiar with a series of events from creation to final uninstallation, development will be smooth and you will not feel confused.

3. Life cycle stages

1. Requesting the page: The page request occurs before the page life cycle begins.

2. Start: In the starting stage, page properties such as Request and Response will be set. At this stage, the page also determines whether the request is a postback request or a new request, and sets the IsPostBack property.

3. Initialization page: During page initialization, you can use the controls in the page, and the UniqueID property of each control will be set. If the current request is a postback request, the postback data has not yet been loaded and the control property values ​​have not yet been restored to the values ​​in view state.

4. Loading the page: During loading, if the current request is a postback request, the control properties will be loaded using the information recovered from the view state and control state.

5. Validation: During validation, the Validate method of all validator controls will be called. This method will set the IsValid property of each validator control and page.

6. Postback event handling: If the request is a postback request, all event handlers will be called.

7. Render the page: During page rendering, the view state will be saved to the page, and then the page will call each control to provide its rendered output to the OutputStream of the page's Response property.

8. Unload the page: Unloading is called when the page is fully rendered, sent to the client, and ready to be discarded. At this point, page properties such as Response and Request are unloaded and cleanup is performed.

4. Life cycle events

1. PreInit

Use this event to execute The following actions:

Check the IsPostBack property to determine whether this is the first time the page is being processed.

Create or recreate dynamic controls.

Dynamically set the main control page.

Dynamicly set the Theme property.

Read or set configuration file attribute values.

Note:

If the request is a postback request, the control's value has not yet been restored from view state. If a control property is set at this stage, its value may be overridden in the next event.

2, Init

is raised after all controls have been initialized and all appearance settings have been applied. Use this event to read or initialize control properties.

3. InitComplete

is triggered by the Page object. Use this event to handle tasks that require all initialization work to be completed first.

4. PreLoad

If you need to perform processing on the page or control before the Load event, please use this event.

After Page raises this event, it loads view state for itself and all controls, and then handles any postback data included in the Request instance.

5、Load

Page Calls the OnLoad event method on the Page, then recursively performs the same operation on each child control, and so on, until the page and all controls are loaded.

Use the OnLoad event method to set properties in the control and establish a database connection

6. Control events

Use these events to handle specific control events , such as the Click event of the Button control or the TextChanged event of the TextBox control.

Note:

In a postback request, if the page contains a validator control, check the Page and individual validations before performing any processing The control's IsValid property.

7. LoadComplete

Use this event for tasks that require loading all other controls on the page.

8, PreRender

Before this event occurs:

The Page object will EnsureChildControls for each control and page.

Each data-bound control that has the DataSourceID property set will call the DataBind method. For more information, see Data-bound events for data-bound controls below.

The PreRender event occurs for every control on the page. Use this event to make final changes to the content of the page or its controls.

9. SaveStateComplete

Before this event occurs, ViewState has been saved for the page and all controls. Any changes made to the page or control at this time will be ignored.

Use this event to perform tasks that meet the following conditions: require that the view state has been saved, but no changes have been made to the control.

10. Render

This is not an event; at this stage of processing, the Page object calls this method on each control. All ASP.NET Web server controls have a Render method that writes control markup that is sent to the browser.

If you create a custom control, you usually override this method to output the control's markup. However, if your custom control only incorporates standard ASP.NET Web server controls and not custom tags, you do not need to override the Render method. For more information, see Developing Custom ASP.NET Server Controls.

User controls (.ascx files) are automatically merged for rendering, so there is no need to explicitly render the control in code.

11. Unload

This event first occurs for each control, and then for the page. In a control, use this event to perform final cleanup on a specific control, such as closing a control-specific database connection.

For the page itself, use this event to perform final cleanup work, such as closing open files and database connections, or completing logging or other request-specific tasks.

Note

During the unload phase, the page and its controls have already been rendered, so no further changes can be made to the response stream. If you try to call a method (such as the Response.Write method), the page will throw an exception.

The above is the detailed content of Explanation of the life cycle of WebForm in Asp.Net. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn