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

Aug 08, 2017 am 11:17 AM
asp.net web

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 of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to use python+Flask to realize real-time update and display of logs on web pages How to use python+Flask to realize real-time update and display of logs on web pages May 17, 2023 am 11:07 AM

1. Log output to file using module: logging can generate a custom level log, and can output the log to a specified path. Log level: debug (debug log) = 5) {clearTimeout (time) // If all results obtained 10 consecutive times are empty Log clearing scheduled task}return}if(data.log_type==2){//If a new log is obtained for(i=0;i

How to use Nginx web server caddy How to use Nginx web server caddy May 30, 2023 pm 12:19 PM

Introduction to Caddy Caddy is a powerful and highly scalable web server that currently has 38K+ stars on Github. Caddy is written in Go language and can be used for static resource hosting and reverse proxy. Caddy has the following main features: Compared with the complex configuration of Nginx, its original Caddyfile configuration is very simple; it can dynamically modify the configuration through the AdminAPI it provides; it supports automated HTTPS configuration by default, and can automatically apply for HTTPS certificates and configure it; it can be expanded to data Tens of thousands of sites; can be executed anywhere with no additional dependencies; written in Go language, memory safety is more guaranteed. First of all, we install it directly in CentO

How to implement form validation for web applications using Golang How to implement form validation for web applications using Golang Jun 24, 2023 am 09:08 AM

Form validation is a very important link in web application development. It can check the validity of the data before submitting the form data to avoid security vulnerabilities and data errors in the application. Form validation for web applications can be easily implemented using Golang. This article will introduce how to use Golang to implement form validation for web applications. 1. Basic elements of form validation Before introducing how to implement form validation, we need to know what the basic elements of form validation are. Form elements: form elements are

Using Jetty7 for Web server processing in Java API development Using Jetty7 for Web server processing in Java API development Jun 18, 2023 am 10:42 AM

Using Jetty7 for Web Server Processing in JavaAPI Development With the development of the Internet, the Web server has become the core part of application development and is also the focus of many enterprises. In order to meet the growing business needs, many developers choose to use Jetty for web server development, and its flexibility and scalability are widely recognized. This article will introduce how to use Jetty7 in JavaAPI development for We

Real-time protection against face-blocking barrages on the web (based on machine learning) Real-time protection against face-blocking barrages on the web (based on machine learning) Jun 10, 2023 pm 01:03 PM

Face-blocking barrage means that a large number of barrages float by without blocking the person in the video, making it look like they are floating from behind the person. Machine learning has been popular for several years, but many people don’t know that these capabilities can also be run in browsers. This article introduces the practical optimization process in video barrages. At the end of the article, it lists some applicable scenarios for this solution, hoping to open it up. Some ideas. mediapipeDemo (https://google.github.io/mediapipe/) demonstrates the mainstream implementation principle of face-blocking barrage on-demand up upload. The server background calculation extracts the portrait area in the video screen, and converts it into svg storage while the client plays the video. Download svg from the server and combine it with barrage, portrait

How to configure nginx to ensure that the frps server and web share port 80 How to configure nginx to ensure that the frps server and web share port 80 Jun 03, 2023 am 08:19 AM

First of all, you will have a doubt, what is frp? Simply put, frp is an intranet penetration tool. After configuring the client, you can access the intranet through the server. Now my server has used nginx as the website, and there is only one port 80. So what should I do if the FRP server also wants to use port 80? After querying, this can be achieved by using nginx's reverse proxy. To add: frps is the server, frpc is the client. Step 1: Modify the nginx.conf configuration file in the server and add the following parameters to http{} in nginx.conf, server{listen80

What are web standards? What are web standards? Oct 18, 2023 pm 05:24 PM

Web standards are a set of specifications and guidelines developed by W3C and other related organizations. It includes standardization of HTML, CSS, JavaScript, DOM, Web accessibility and performance optimization. By following these standards, the compatibility of pages can be improved. , accessibility, maintainability and performance. The goal of web standards is to enable web content to be displayed and interacted consistently on different platforms, browsers and devices, providing better user experience and development efficiency.

How to enable administrative access from the cockpit web UI How to enable administrative access from the cockpit web UI Mar 20, 2024 pm 06:56 PM

Cockpit is a web-based graphical interface for Linux servers. It is mainly intended to make managing Linux servers easier for new/expert users. In this article, we will discuss Cockpit access modes and how to switch administrative access to Cockpit from CockpitWebUI. Content Topics: Cockpit Entry Modes Finding the Current Cockpit Access Mode Enable Administrative Access for Cockpit from CockpitWebUI Disabling Administrative Access for Cockpit from CockpitWebUI Conclusion Cockpit Entry Modes The cockpit has two access modes: Restricted Access: This is the default for the cockpit access mode. In this access mode you cannot access the web user from the cockpit

See all articles