Web forms are a vital part of ASP.NET applications and are used to create the web pages that clients request. Web forms allow developers to create web applications using a similar control-based interface as Windows applications. The ASP.NET page processing model includes initialization, validation, event handling, data binding, and cleanup stages. The page acts as a container for other server controls and includes elements like the page header.
Defines ASP.NET web forms as integral for web applications, contrasting web applications with traditional desktop apps. Highlights the server-side execution and statelessness.
Introduces HTML forms as a means to send client-side data. Discusses the ASP.NET control model for handling inputs, emphasizing ease of use.
Describes how the control model in ASP.NET simplifies retrieving form data and managing dynamic user interfaces compared to classic ASP.
Explains the event-driven model in ASP.NET, outlining the lifecycle of a page from creation to rendering after user interactions such as postbacks.
Details the POSTBACK process in ASP.NET, emphasizing the steps from user form submission to server processing and response.
Explains how automatic postbacks function in ASP.NET and introduces View State to retain data across postbacks due to HTTP's stateless nature.
Describes View State's functionality for tracking changes between postbacks and its importance in state management within ASP.NET applications.
Enumerates the major stages of ASP.NET web forms processing lifecycle, including initialization, validation, data binding, and cleanup.
Highlights how ASP.NET pages work with control containers, discussing the role of HtmlHead and Page class properties in web forms.
Describes the Session, Application, and Cache objects in ASP.NET, focusing on their roles in storing user and application-specific data.
Explains the Request object in ASP.NET, detailing HTTP request properties and how they are used for managing client interactions.
Introduces the Response object, outlining its capabilities for managing HTTP responses, cookies, and server redirections.
Describes the Server object, detailing its utility functions for managing server-side operations and error handling.
Introduces the User object, discussing its role in accessing user information and managing authentication and authorization.
WEB FORMS ASP.NET pages(officially known as web forms) are a vital part of an ASP.NET application. Provide the actual output of a web application—the web pages that clients request and view in their browsers. Web forms allow you to create a web application using the some control-based interface as a Windows application. 1
2.
Page Processing Goalof ASP.NET developers is to develop web forms in the same way that Windows developers can build applications. Web applications are very different from traditional rich desktop/client applications: Web applications execute on the server. Web applications are stateless. 2
3.
HTML Forms Simplestway to send client-side data to the server is using a <form> tag Inside the <form> tag, can place other <input> tags to represent basic user interface ingredients 3
4.
HTML Forms cont.. ASP.NET uses control model. string firstName = txtFirstName.Text; 4
5.
Dynamic User Interface Control model makes life easier for retrieving form information In classic ASP insert a script block that would write the raw HTML string message = "<span style="color:Red">Welcome " + FirstName + " " + LastName + "</span>"; Response.Write(message); On the other hand, with Label control in ASP.NET <asp:Label id="lblWelcome" runat="server" /> Now you can simply set its properties lblWelcome.Text = "Welcome " + FirstName + " " + LastName; lblWelcome.ForeColor = Color.Red; Note: Not Necessary to KNOW HTML markup syntax. 5 Hides the low-level HTML details.
6.
The ASP.NET EventModel Classic ASP uses a linear processing model. Code execution is from start to end. More code for even simple web page. (Example of three buttons on HTML form) script code must determine which button is clicked and execute code accordingly ASP.NET provides event-driven model. 6
7.
The ASP.NET EventModel cont.. Here’s a brief outline of event driven model: 1. Your page runs for the first time. ASP.NET creates page, & control objects, the initialization code executes, and then the page is rendered to HTML and returned to the client. 2. At some point, the user does something that triggers a postback, such as clicking a button. & page is submitted with all the form data. 3. ASP.NET intercepts the returned page and re- 7 creates the page objects.
8.
The ASP.NET EventModel cont.. 4. Next, ASP.NET checks what operation triggered the postback, and raises the appropriate event procedure. 5. The modified page is rendered to HTML and returned to the client. The page objects are released from memory. If another postback occurs, ASP.NET repeats the process in steps 2 through 4.
9.
POSTBACK 1.User request webform from server 2.Web server respond back with requested web form. 3.User enters the data and submits the form to web server. 4.Web server process the form and sends the result back to the client Step 3 ???? Step 3 & Step 4 ???? PostBack is the name given to the process of submitting an ASP.NET page to the server for processing.
10.
Automatic Postbacks Allclient action cannot be handled. e.g. mouse movement because of server side processing. If want to do, can use Java Script or Ajax. ASP.NET web controls extend this model with an automatic postback feature. To use automatic postback set the AutoPostBack property of a web control to true (the default is false) ASP.NET adds a JavaScript function to the rendered HTML page named __doPostBack() (AutoPostBack =true) 10
11.
View State Viewstate solves another problem that occurs because of the stateless nature of HTTP—lost changes. ASP.NET has its own integrated state serialization mechanism. ASP.NET examines all the properties, if changed makes a note of this information in a name/value collection. ASP.NET takes all the information it has collected and then serializes it as a Base64 string. 11
12.
View State cont.. Thenext time the page is posted back, ASP.NET follows these steps: 1. ASP.NET re-creates the page and control objects based on its defaults (first requested state) 2. Next, ASP.NET deserializes the view state information and updates all the controls. 3. ASP.NET adjusts the page according to the posted back form data. 4. Now event-handling code can get involved. e.g. code can react to change the page, move to a new page, or perform a completely different operation. 12
View State cont.. Note:Even if you set EnableViewState to false, the control can still hold onto a smaller amount of view state information. This privileged view state information is known as control state, and it can never be disabled. Note: It is absolutely essential to your success as an ASP.NET programmer to remember that the web form is re-created with every round-trip. It does not persist or remain in memory longer than it takes to render a single request. 15
16.
Web Forms ProcessingStages On the server side, processing an ASP.NET web form takes place in stages. The following list shows the major processing stages • Page framework initialization • User code initialization • Validation • Event handling • Automatic data binding • Cleanup 16
Page Framework Initialization ASP.NET first creates the page Generates all the controls defined ASP.NET deserializes the view state information (not being requested for the first if it’s postback), Next Page.Init event fires (rarely handled by the web page, because it’s still too early to perform page initialization) 18
19.
User Code Initialization At this stage of the processing, the Page.Load event is fired. The Page.Load event always fires, regardless of whether the page is being requested for the first time or whether it is being requested as part of a postback. To determine the current state of the page, check the IsPostBack property of the page, which will be false the first time the page is requested. Here’s an example: if (!IsPostBack) { // It's safe to initialize the controls for the first time. FirstName.Text = "Enter your name here"; } 19
20.
Validation ASP.NET includesvalidation controls that can automatically validate other user input controls and display error messages. Validation controls fire after the page is loaded but before any other events take Place. validation controls are self-sufficient 20
21.
Event Handling Atthis point, the page is fully loaded and validated. ASP.NET will now fire all the events since the last postback Immediate response events Change events ASP.NET’s event model is still quite different from a traditional Windows environment If you change text in the text box and click submit button, ASP.NET raises all of the following events (in this order): • Page.Init • Page.Load • TextBox.TextChanged • Button.Click • Page.PreRender 21 • Page.Unload
22.
Automatic Data Binding When you use the data source controls, ASP.NET automatically performs updates and queries against your data source as part of the page life cycle. Changes are performed after all the control events have been handled but just before the Page.PreRender event fires. After the Page.PreRender event fires, the data source controls perform their queries and insert the retrieved data into linked controls. This is the last stop in the page life cycle. Page.PreRender is last action before the page is rendered into HTML. 22
23.
Cleanup At theend of its life cycle, the page is rendered to HTML. Page.Unload event is fired. At this point, the page objects are still available, but the final HTML is already rendered and can’t be changed. garbage collection service that runs periodically to release memory tied to objects unmanaged resources must be to release explicitly (e.g. Windows file handles and ODBC database connections) When the garbage collector collects the page, the Page.Disposed event fires. 23
24.
Summary of WebForms Processing Stages • Page framework initialization • User code initialization • Validation • Event handling • Automatic data binding • Cleanup 24
25.
The Page Asa Control Container To render a page, the web form needs to collaborate with all its constituent controls. When ASP.NET first creates a page, it inspects the .aspx file for each element it finds with the runat="server" attribute, it creates and configures a control object, and then it adds this control as a child control of the page. Page.Controls collection contains all child controls on the page ASP.NET models the entire page using control objects, including elements that don’t correspond to server-side 25 content.
26.
The Page Header Web form can also contain a single HtmlHead control, which provides server-side access to the <head> tag. Visual Studio default is to always make the <head> tag into a server-side control Head includes other details such as the title, metadata tags (useful for providing keywords to search engines) Title: This is the title of the HTML page StyleSheet: IStyleSheet object that represents inline 26 styles
27.
The Page Class All web forms are actually instances of the ASP.NET Page class (System.Web.UI namespace) Code-behind class explicitly derives from System.Web.UI.Page. means that every web form you create is equipped with an enormous amount of out-of-the-box functionality Page class gives your code the following extremely useful properties: • Session • Application • Cache • Request • Response • Server • User 27 • Trace
28.
Session, Application, andCache The Session object is an instance of the System.Web.SessionState.HttpSessionState class. The Session object provides dictionary-style access to a set of name/value pairs. Session state is often used to maintain user specific information. The Application object is an instance of the System.Web.HttpApplicationState class Data is global to the entire application. Cache object is an instance of the System.Web.Caching.Cache class. Scalable storage mechanism because ASP.NET can remove objects if server memory becomes scarce. 28
29.
Request Object Aninstance of the System.Web.HttpRequest class. Object represents the values and properties of the HTTP request contains all the URLparameters and all other information sent by a client. Much of the information provided by the Request object is wrapped by higher-level abstractions. Can examine cookies 29
30.
Request Object cont.. Property Description AnonymousID identifies the current user ApplicationPath ApplicationPath gets the ASP.NET and application’s virtual directory (URL), while PhysicalApplicat PhysicalApplicationPath gets the “real” ionPath directory. Browser provides a link to an HttpBrowserCapabilities object ClientCertificate HttpClientCertificate object that gets the security certificate for the current request Cookies gets the collection of cookies sent with this 30 request
31.
Request Object cont.. Property Description Form Represents the collection of form variables that were posted back to the page. Headers and collection of HTTP headers and server ServerVariables variables, indexed by name. IsAuthenticated & These return true if the user has been IsSecureConnectio successfully authenticated and if the user is n connected over SSL (Secure Sockets Layer). IsLocal This returns true if the user is requesting the page from the local computer. QueryString provides the parameters that were passed along with thequery string. 31
32.
Request Object cont.. Property Description Url and Uri object that represents the current UrlReferrer address for the page and the page where the user is coming from UserAgent a string representing the browser type. UserHostAddre get the IP address and the DNS name ss and of the remote client UserHostName UserLanguages provides a sorted string array that lists the client’s language preferences. 32
33.
Response object Responseobject is an instance of the System.Web.HttpResponse class HttpResponse does still provide some important functionality—namely, cookie and Redirect() method 33
34.
Response object cont.. Member Description BufferOutput Can set true or false Cache HttpCachePolicy object that allows you to configure output caching Cookies collection of cookies sent with the response Expires and these properties to cache the rendered HTML ExpiresAbsolute sClientConnected Boolean value indicating whether the client is still connected to the server Redirect() transfers the user to another page in your application or a different website Write() write text directly to the response stream. BinaryWrite() and allow you to take binary content from a byte array WriteFile() 34 or from a file and write it directly to the response stream
35.
Server Object Server objectis an instance of the System.Web.HttpServerUtility class. Member Description MachineName Computer name of the computer on which the page is running. GetLastError() Retrieves the exception object for the most recently encountered error. HtmlEncode() Changes an ordinary string into a string and with legal HTML characters (and back HtmlDecode() again). UrlEncode() and Changes an ordinary string into a string UrlDecode() with legal URL characters (and back 35 again).
36.
Server Object cont.. Member Description UrlTokenEncode Performs the same work as () and UrlEncode() and UrlDecode(), except UrlTokenDecode they work on a byte array that () contains Base64-encoded data. MapPath() Returns the physical file path that corresponds to a specified virtual file path. Transfer() Transfers execution to another web page in the current application. 36
37.
Common HTML Entities Result Description Encoded Entity Non breaking space < Less-than symbol < > Greater-than symbol > & Ampersand & " Quotation mark & 37
38.
User Object Userobject represents information about the user making the request of the web server allows you to test that user’s role membership. Implements System.Security.Principal.Iprincipal can authenticate a user based on specific class depends Windows account information using IIS or through cookie-based authentication with a dedicated login page.