SlideShare a Scribd company logo
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
Page Processing
 Goal of 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
HTML Forms
 Simplest way 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
HTML Forms cont..


 ASP.NET uses control model.

    string firstName = txtFirstName.Text;




4
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.
The ASP.NET Event Model
 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
The ASP.NET Event Model 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.
The ASP.NET Event Model 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.
POSTBACK
1.User request web form 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.
Automatic Postbacks
 All client 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
View State
 View state 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
View State cont..
The next 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 (First Request) cont..




  13
View State(Postback Request) cont..




14
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
Web Forms Processing Stages
 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
Web Forms Processing Stages cont..




17
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
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
Validation
 ASP.NET includes validation 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
Event Handling
 At this 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
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
Cleanup
 At the end 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
Summary of Web Forms Processing Stages


       • Page framework initialization
       • User code initialization
       • Validation
       • Event handling
       • Automatic data binding
       • Cleanup


  24
The Page As a 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.
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
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
Session, Application, and Cache
 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
Request Object
 An instance 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
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
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
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
Response object

 Response object is an instance of the
System.Web.HttpResponse class
 HttpResponse does still provide some
important functionality—namely, cookie and
Redirect() method



 33
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
Server Object
Server object is 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).
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
Common HTML Entities

Result        Description       Encoded
                                 Entity
          Non breaking space     &nbsp;
      <   Less-than symbol        &lt;
      >   Greater-than symbol     &gt;
      &   Ampersand              &amp;
      "   Quotation mark         &amp;
 37
User Object
 User object 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.

More Related Content

PPTX
Introduction to ASP.NET
PPSX
ASP.NET Web form
PDF
Basics of JavaScript
PDF
Asp.net state management
PPTX
jQuery
PPT
JavaScript: Events Handling
PPT
Developing an ASP.NET Web Application
PPT
JavaScript - An Introduction
Introduction to ASP.NET
ASP.NET Web form
Basics of JavaScript
Asp.net state management
jQuery
JavaScript: Events Handling
Developing an ASP.NET Web Application
JavaScript - An Introduction

What's hot (20)

PPT
PPTX
Event In JavaScript
PPT
Js ppt
PDF
2. HTML forms
PPTX
Introduction to ajax
PPT
ASP.NET MVC Presentation
PDF
jQuery for beginners
PPTX
Hibernate ppt
PPT
SQLITE Android
PPTX
Introduction to php
PPTX
Ajax
PDF
Introduction to HTML5
PDF
Model View Controller (MVC)
PPT
Javascript
PDF
Intro to HTML and CSS basics
PPTX
Asp.NET Validation controls
PPTX
Awt, Swing, Layout managers
PDF
Hibernate Presentation
PPT
JQuery introduction
Event In JavaScript
Js ppt
2. HTML forms
Introduction to ajax
ASP.NET MVC Presentation
jQuery for beginners
Hibernate ppt
SQLITE Android
Introduction to php
Ajax
Introduction to HTML5
Model View Controller (MVC)
Javascript
Intro to HTML and CSS basics
Asp.NET Validation controls
Awt, Swing, Layout managers
Hibernate Presentation
JQuery introduction
Ad

Viewers also liked (20)

PPTX
The ASP.NET Web API for Beginners
PDF
C# ASP.NET WEB API APPLICATION DEVELOPMENT
PPT
Data controls ppt
PPTX
data controls in asp.net
PPT
Asp.net
PPT
Asp.net basic
PPTX
ASP.NET Web API
PPTX
ASP.NET Presentation
PPTX
ASP.NET Web API and HTTP Fundamentals
PPTX
Ch 7 data binding
PPT
Nnnnnn
PPT
Server Controls of ASP.Net
PPTX
PPTX
Ajax and ASP.NET AJAX
PPTX
Introduction to ASP.NET
PPTX
Asp.Net Control Architecture
PPTX
Presentation on asp.net controls
PPTX
Ajax control asp.net
PPTX
Presentation - Electronic Data Interchange
The ASP.NET Web API for Beginners
C# ASP.NET WEB API APPLICATION DEVELOPMENT
Data controls ppt
data controls in asp.net
Asp.net
Asp.net basic
ASP.NET Web API
ASP.NET Presentation
ASP.NET Web API and HTTP Fundamentals
Ch 7 data binding
Nnnnnn
Server Controls of ASP.Net
Ajax and ASP.NET AJAX
Introduction to ASP.NET
Asp.Net Control Architecture
Presentation on asp.net controls
Ajax control asp.net
Presentation - Electronic Data Interchange
Ad

Similar to Web forms in ASP.net (20)

PPTX
ASP.NET Lecture 1
PPTX
NET_Training.pptx
PDF
Introductionto asp net-ppt
PPT
asp-2005311dgvdfvdfvfdfvdvfdbfdb03252 (1).ppt
PPT
Asp.net control
PPT
Web controls
PPTX
Aspnet architecture
PPTX
Parallelminds.asp.net with sp
PPT
How to develop asp web applications
PPTX
Page life cycle
DOC
Asp.Net Page Life
PPT
Asp dot net long
PPTX
Introduction to asp.net
ZIP
ASP.Net Presentation Part1
PPT
Intro To Asp Net And Web Forms
PPTX
ASP.NET - Life cycle of asp
PPTX
Aspnetpagelifecycle 101129103702-phpapp02
PPT
ASP.NET Session 6
PPTX
Introduction to asp.net
PPTX
ASP.NET Lecture 1
NET_Training.pptx
Introductionto asp net-ppt
asp-2005311dgvdfvdfvfdfvdvfdbfdb03252 (1).ppt
Asp.net control
Web controls
Aspnet architecture
Parallelminds.asp.net with sp
How to develop asp web applications
Page life cycle
Asp.Net Page Life
Asp dot net long
Introduction to asp.net
ASP.Net Presentation Part1
Intro To Asp Net And Web Forms
ASP.NET - Life cycle of asp
Aspnetpagelifecycle 101129103702-phpapp02
ASP.NET Session 6
Introduction to asp.net

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
cuic standard and advanced reporting.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Approach and Philosophy of On baking technology
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Machine learning based COVID-19 study performance prediction
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
Chapter 3 Spatial Domain Image Processing.pdf
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
The AUB Centre for AI in Media Proposal.docx
cuic standard and advanced reporting.pdf
NewMind AI Monthly Chronicles - July 2025
Advanced methodologies resolving dimensionality complications for autism neur...
Big Data Technologies - Introduction.pptx
Network Security Unit 5.pdf for BCA BBA.
Review of recent advances in non-invasive hemoglobin estimation
Unlocking AI with Model Context Protocol (MCP)
MYSQL Presentation for SQL database connectivity
Diabetes mellitus diagnosis method based random forest with bat algorithm
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
20250228 LYD VKU AI Blended-Learning.pptx
Approach and Philosophy of On baking technology
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Machine learning based COVID-19 study performance prediction
The Rise and Fall of 3GPP – Time for a Sabbatical?

Web forms in ASP.net

  • 1. 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  Goal of 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  Simplest way 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 Event Model  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 Event Model 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 Event Model 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 web form 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  All client 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  View state 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.. The next 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
  • 13. View State (First Request) cont.. 13
  • 15. 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 Processing Stages  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
  • 17. Web Forms Processing Stages cont.. 17
  • 18. 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 includes validation 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  At this 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 the end 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 Web Forms Processing Stages • Page framework initialization • User code initialization • Validation • Event handling • Automatic data binding • Cleanup 24
  • 25. The Page As a 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, and Cache  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  An instance 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  Response object 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 object is 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 &nbsp; < Less-than symbol &lt; > Greater-than symbol &gt; & Ampersand &amp; " Quotation mark &amp; 37
  • 38. User Object  User object 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.