SlideShare a Scribd company logo
Developing an ASP.NET Web Application Rishi Kothari
Agenda Overview of .NET Overview of ASP.NET Creating an ASP.NET Web Form Adding Event Procedures Validating User Input
Overview of .NET
What is the .NET Framework? Developer Tools Clients User Experiences ASP.NET Web Applications XML Web Services Databases .NET Framework
Benefits of .NET Based on Web standards and practices Functionality of .NET classes is universally available Code is organized into hierarchical namespaces and classes Language independent Solves existing problems: Even with the Internet, most applications and devices have trouble communicating with each other Programmers end up writing infrastructure instead of applications Programmers have had to limit their scope or continually learn new languages
The .NET Framework Components Win32 Common Language Runtime .NET Framework Class Library ADO.NET and XML XML Web Services User Interface Visual Basic C++ C# ASP.NET Perl Python … Message Queuing COM+ (Transactions, Partitions,  Object Pooling) IIS WMI
The Common Language Runtime One runtime for all . NET-Based Languages Manages threads and memory Garbage collection Enforces code security Eliminates DLL versioning problems Multiple versions of a DLL can run simultaneously Applications can specify a version of a DLL to use
Using the Class Library The class library is a set of classes (properties and methods) that all .NET applications can use You use objects by referencing the .NET namespaces Using a namespace in C#: Implicit object declaration Explicit object declaration using  namespace_name ; using System.Web.UI.WebControls; ListBox ListBox1; ListBox1.Items.Add("First Item"); System.Web.UI.WebControls.ListBox ListBox1; ListBox1.Items.Add("First Item");
Multiple Language Support The .NET Framework is designed to support many languages More than 20 languages currently supported Microsoft provides Visual Basic .NET, C#,  Visual J# .NET, and JScript .NET Benefits of multiple-language support Code modules are reusable Class Library access is the same for all languages The right language is used for the right task Performance is roughly equal between all languages
Choosing a Language .NET Framework class library is the same regardless of language Performance All languages are compiled to MSIL Only performance difference is how each language compiler compiles to MSIL The runtime compiles all MSIL the same, regardless of its origin Development experience C# is similar to Java, C, Visual C++, and Pascal Visual Basic .NET is similar to Visual Basic Browser compatibility ASP.NET code is server-side code, so browser compatibility is not an issue
Overview of ASP.NET
ASP Web Application Architecture Presentation Tier Business Logic Tier Data Tier UI Pages (.htm) Graphic  Files COM Objects Data Source ADO COM+ Services ASP Page  (.asp)
ASP.NET Web Application Architecture Presentation Tier Business Logic Tier Data Tier Graphic  Files UI Pages (.htm) XML Web Services (.asmx) User Controls (.ascx) Code-Behind File (.aspx.vb or .aspx.cs) Proxy ADO.NET .NET  Objects Data Source COM+ Services COM Objects RCW Web Form  (.aspx)
ASP.NET Coding Changes Page directives Language  attribute must be in set the  @Page  directive Structural changes All functions and variables must be declared within a  <script>  block Only one language per page Render Functions are no longer supported; use  Response.Write Design-Time controls are no longer supported Replaced with Web controls
ASP.NET Runtime Compilation and Execution Native code C# Visual Basic .NET default.aspx Common Language Runtime HTML Which language? Visual Basic .NET compiler C# compiler MSIL JIT compiler
Multimedia: ASP.NET Execution Model
Creating an ASP.NET Web Form
Demonstration: Developing an ASP.NET Web Application Create a Web application Add controls to a Web Form View the HTML generated Add an event procedure
What Is a Web Form? . aspx extension Page attributes @ Page  directive  Controls save state Body attributes Form attributes <%@ Page Language=&quot;C#&quot; Inherits=Project.WebForm1 %> <html> <body ms_positioning=&quot;GridLayout&quot;>   <form id=&quot;Form1&quot; method=&quot;post&quot;  runat=&quot;server&quot; >   </form> </body> </html>
What is a Server Control? Runat=&quot;server&quot; Event procedures run on the server View state saved Properties and methods are available in server-side event procedures <asp:Button id=&quot;Button1&quot; runat=&quot;server&quot;  Text=&quot;Submit&quot;/> private void btn_Click(object sender,  System.EventArgs e) { lblName.Text = txtName.Text; }
Types of Server Controls HTML server controls Based on HTML elements Exist within the System.Web.UI.HtmlControls namespace Web server controls Exist within the   System.Web.UI.WebControls namespace HTML that is generated by the control <input name=&quot;TextBox1&quot; type=&quot;text&quot;  value=&quot;Text_to_Display&quot; Id=&quot;TextBox1&quot;/> <asp:TextBox id=&quot;TextBox1&quot; runat=&quot;server&quot;>Text_to_Display </asp:TextBox> <input type=&quot;text&quot; id=&quot;txtName&quot; runat=&quot;server&quot; />
Maintaining the State of ASP.NET Server Controls Server control state is stored in __VIEWSTATE, a hidden control on the Web Form __VIEWSTATE stores state in a string value of name-value pairs <form id=&quot;Form1&quot; method=&quot;post&quot; runat=&quot;server&quot;> <input type=&quot;hidden&quot; name=&quot;__VIEWSTATE&quot;   value=&quot;dDw3NzE0MTExODQ7Oz4=&quot; /> 'HTML here </form> On by default, adjustable at Web Form and control level <%@ Page EnableViewState=&quot;False&quot; %> <asp:ListBox id=&quot;ListName&quot; EnableViewState=&quot;true&quot; runat=&quot;server&quot;> </asp:ListBox>
Demonstration: Using Server Controls to a Web Form Using HTML server controls Displaying browser-specific HTML
Selecting the Appropriate Control You need specific functionality such as a calendar or ad rotator The control will interact with client and server script You are writing a page that might be used by a variety of browsers You are working with existing HTML pages and want to quickly add ASP.NET Web page functionality You prefer a Visual Basic-like programming model You prefer an HTML-like object model Use  Web  Server Controls if: Use HTML Server Controls if: Bandwidth is not a problem Bandwidth is limited
Adding Event Procedures
How to Implement Code Three methods for adding code: Put code in the same file as content (mixed) Put code in a separate <SCRIPT> section of the content file (inline code) Put code in a separate file (code-behind pages) Code-behind pages are the Visual Studio .NET default Form1.aspx Form1.aspx Form1.aspx.vb or Form1.aspx.cs <tags> <tags> code code Separate files Single file Code-Behind Page
Understanding How Code-Behind Pages Work Create separate files for user interface and interface logic Use @ Page directive to link the two files  Page1.aspx <% @ Page Language=&quot;C#&quot; Inherits=&quot;Project.WebForm1&quot; Codebehind=&quot;Page1.aspx.cs&quot;  Src = &quot;Page1.aspx.cs&quot; %> Page1.aspx.cs namespace Project { public class WebForm1 :    System.Web.UI.Page {   } }
What are Event Procedures? Action in response to a user’s interaction with the controls on the page
Demonstration: Using Events Open an ASP.NET page with controls and client-side and server-side event procedures Click on the controls to view client-side and server-side events running In the browser, view the source of the page In the editor, view the event procedure code
Client-Side Event Procedures Internet .HTM  Pages Typically used only with HTML controls Interpreted by the browser and run on the client Do not have access to server resources Use <SCRIPT language=&quot; language &quot;>
Server-Side Event Procedures Used with both Web and HTML server controls Code is compiled and run on the server Have access to server resources Use <SCRIPT language =&quot;language&quot;  runat=&quot;server&quot;> Internet .ASPX  Pages
Creating Event Procedures Visual Studio .NET declares variables and creates an event procedure template in the code-behind page protected System.Web.UI.WebControls.Button  btn ; private void InitializeComponent() {  this. btn.Click  +=  new System.EventHandler(this. btn_Click ); } private void  btn_Click (object sender,  System.EventArgs e) { }
Events in the Web page generation process ASP.NET server control events are handled when the Web page is posted back to the server Use the Page.IsPostback property to determine if the Web page is being generated for the first time Events in the Web Page Generation Process private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { // executes only on initial page load } //this code executes on every request } Page_Unload Page_Init Page_Load Server control events
Multimedia
Demonstration: Handling Postback Events
Validating User Input
What Is Input Validation? Verifies that a control value is correctly entered by the user Blocks the processing of a page until all controls are valid  Avoids spoofing or the addition of malicious code
Client-Side and Server-Side Validation ASP.NET can create both client-side and server-side validation Client-side validation  Dependent on browser version Instant feedback Reduces postback cycles Server-side validation Repeats all client-side validation Can validate against stored data Valid? Valid? User Enters  Data No No Yes Yes Error  Message Client Server Web Form Processed
ASP.NET Validation Controls Compare to a custom formula CustomValidator Summarize the state of the validation controls on a page ValidationSummary Compare to a regular expression pattern RegularExpressionValidator Compare to a range RangeValidator Compare to another control, a value, or a data type CompareValidator Require user input RequiredFieldValidator Purpose Control Name
Adding Validation Controls to a Web Form Add a validation control Select the input control to validate Set validation properties 1 2 3 <asp:TextBox id=&quot;txtName&quot; runat=&quot;server&quot; /> <asp: Type_of_Validator   id=&quot; Validator_id &quot; runat=&quot;server&quot;   ControlToValidate=&quot; txtName &quot; ErrorMessage=&quot; Message_for_error_summary &quot;   Display=&quot; static|dynamic|none &quot; Text=&quot; Text_to_display_by_input_control &quot;> </asp: Type_of_Validator>
Combining Validation Controls Can have multiple validation controls on a single input control Only the RequiredFieldValidator checks empty controls
Demonstration: Using Validation Controls Create an ASP.NET Web Form with TextBox and Button controls Add a RequiredFieldValidator control Add a RangeValidator control Add a RegularExpressionValidator control Add a ValidationSummary control
Thanks!

More Related Content

PPTX
Introduction to ASP.NET
Rajkumarsoy
 
PPT
Asp.net.
Naveen Sihag
 
PDF
Basics of JavaScript
Bala Narayanan
 
PPT
JQuery introduction
NexThoughts Technologies
 
PPT
Introduction to Javascript
Amit Tyagi
 
PPT
Java: GUI
Tareq Hasan
 
PPT
ASP.NET MVC Presentation
ivpol
 
PPTX
Java Servlets
Emprovise
 
Introduction to ASP.NET
Rajkumarsoy
 
Asp.net.
Naveen Sihag
 
Basics of JavaScript
Bala Narayanan
 
JQuery introduction
NexThoughts Technologies
 
Introduction to Javascript
Amit Tyagi
 
Java: GUI
Tareq Hasan
 
ASP.NET MVC Presentation
ivpol
 
Java Servlets
Emprovise
 

What's hot (20)

PPTX
Dom(document object model)
Partnered Health
 
PPT
JavaScript & Dom Manipulation
Mohammed Arif
 
PDF
JavaScript - Chapter 12 - Document Object Model
WebStackAcademy
 
PPTX
Java script
Abhishek Kesharwani
 
PPT
Master pages
teach4uin
 
PPTX
Lab #2: Introduction to Javascript
Walid Ashraf
 
PDF
JavaScript - Chapter 13 - Browser Object Model(BOM)
WebStackAcademy
 
PPTX
Java Server Pages(jsp)
Manisha Keim
 
PPTX
XML Document Object Model (DOM)
BOSS Webtech
 
PDF
JavaScript - Chapter 3 - Introduction
WebStackAcademy
 
PPT
Introduction To Dotnet
SAMIR BHOGAYTA
 
PPTX
Introduction to Spring Framework
Serhat Can
 
PPTX
Presentation on "An Introduction to ReactJS"
Flipkart
 
PPTX
Microsoft dot net framework
Ashish Verma
 
PPT
Jsp/Servlet
Sunil OS
 
PPTX
JSON: The Basics
Jeff Fox
 
PDF
Introduction to XHTML
Hend Al-Khalifa
 
PPT
C#.NET
gurchet
 
PPTX
ASP.NET - Life cycle of asp
priya Nithya
 
Dom(document object model)
Partnered Health
 
JavaScript & Dom Manipulation
Mohammed Arif
 
JavaScript - Chapter 12 - Document Object Model
WebStackAcademy
 
Java script
Abhishek Kesharwani
 
Master pages
teach4uin
 
Lab #2: Introduction to Javascript
Walid Ashraf
 
JavaScript - Chapter 13 - Browser Object Model(BOM)
WebStackAcademy
 
Java Server Pages(jsp)
Manisha Keim
 
XML Document Object Model (DOM)
BOSS Webtech
 
JavaScript - Chapter 3 - Introduction
WebStackAcademy
 
Introduction To Dotnet
SAMIR BHOGAYTA
 
Introduction to Spring Framework
Serhat Can
 
Presentation on "An Introduction to ReactJS"
Flipkart
 
Microsoft dot net framework
Ashish Verma
 
Jsp/Servlet
Sunil OS
 
JSON: The Basics
Jeff Fox
 
Introduction to XHTML
Hend Al-Khalifa
 
C#.NET
gurchet
 
ASP.NET - Life cycle of asp
priya Nithya
 
Ad

Viewers also liked (9)

PPTX
Linq
samneang
 
PPT
Introduction Of Linq , ASP.NET Training Ahmedabad, ASP.NET Course Ahmedabad
NicheTech Com. Solutions Pvt. Ltd.
 
PPT
Understanding linq
Anand Kumar Rajana
 
PDF
tybsc it asp.net full unit 1,2,3,4,5,6 notes
WE-IT TUTORIALS
 
PPTX
Introduction to ASP.NET
Peter Gfader
 
PPSX
Asp.net mvc
Er. Kamal Bhusal
 
DOC
java Developing using asp.net
Tanay Kishore Mishra
 
PDF
Visual basic asp.net programming introduction
Hock Leng PUAH
 
Linq
samneang
 
Introduction Of Linq , ASP.NET Training Ahmedabad, ASP.NET Course Ahmedabad
NicheTech Com. Solutions Pvt. Ltd.
 
Understanding linq
Anand Kumar Rajana
 
tybsc it asp.net full unit 1,2,3,4,5,6 notes
WE-IT TUTORIALS
 
Introduction to ASP.NET
Peter Gfader
 
Asp.net mvc
Er. Kamal Bhusal
 
java Developing using asp.net
Tanay Kishore Mishra
 
Visual basic asp.net programming introduction
Hock Leng PUAH
 
Ad

Similar to Developing an ASP.NET Web Application (20)

PPT
Intro To Asp Net And Web Forms
SAMIR BHOGAYTA
 
ZIP
ASP.Net Presentation Part1
Neeraj Mathur
 
PPT
Introduction to ASP.net. It provides basic introduction
ssuserbf6ebe
 
PPT
introaspnetkjadbfksdjkfaskjdbfkajsbfkjfjkswa.ppt
AvijitChaudhuri3
 
PPT
introaspnet.ppt
asmachehbi
 
PPT
introaspnet.ppt
IbrahimBurhan6
 
PDF
Introductionto asp net-ppt
tmasyam
 
PPT
This is the introduction to Asp.Net Using C# Introduction Variables State Man...
sagar490070
 
PPT
INTRODUCTION TO ASP.NET COMPLETE MATERIALCOURSE
passtime0530
 
PPT
Asp.net architecture
Iblesoft
 
PPT
ASP.NET OVERVIEW
Rishi Kothari
 
PPT
Aspintro
ambar chakraborty
 
PPT
Introaspnet
Nagaraju Yajjuvarapu
 
PPT
introasp_net-7364068.ppt
IQM123
 
PPT
introasp_net-6563550.ppt
IQM123
 
PPTX
Asp.net
Anchit Rajawat
 
PPTX
Developing an aspnet web application
Rahul Bansal
 
PPTX
Lecture slides_Introduction to ASP.NET presentation
ssuserbf6ebe
 
PPTX
Chapter 5
application developer
 
PPT
Intro to asp.net
Information Technology
 
Intro To Asp Net And Web Forms
SAMIR BHOGAYTA
 
ASP.Net Presentation Part1
Neeraj Mathur
 
Introduction to ASP.net. It provides basic introduction
ssuserbf6ebe
 
introaspnetkjadbfksdjkfaskjdbfkajsbfkjfjkswa.ppt
AvijitChaudhuri3
 
introaspnet.ppt
asmachehbi
 
introaspnet.ppt
IbrahimBurhan6
 
Introductionto asp net-ppt
tmasyam
 
This is the introduction to Asp.Net Using C# Introduction Variables State Man...
sagar490070
 
INTRODUCTION TO ASP.NET COMPLETE MATERIALCOURSE
passtime0530
 
Asp.net architecture
Iblesoft
 
ASP.NET OVERVIEW
Rishi Kothari
 
introasp_net-7364068.ppt
IQM123
 
introasp_net-6563550.ppt
IQM123
 
Developing an aspnet web application
Rahul Bansal
 
Lecture slides_Introduction to ASP.NET presentation
ssuserbf6ebe
 
Intro to asp.net
Information Technology
 

Recently uploaded (20)

PDF
Chapter 1 Introduction to CV and IP Lecture Note.pdf
Getnet Tigabie Askale -(GM)
 
PDF
Doc9.....................................
SofiaCollazos
 
PPTX
Stamford - Community User Group Leaders_ Agentblazer Status, AI Sustainabilit...
Amol Dixit
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PDF
Software Development Methodologies in 2025
KodekX
 
PPTX
How to Build a Scalable Micro-Investing Platform in 2025 - A Founder’s Guide ...
Third Rock Techkno
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
SMACT Works
 
PPTX
Coupa-Overview _Assumptions presentation
annapureddyn
 
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PPTX
Smart Infrastructure and Automation through IoT Sensors
Rejig Digital
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PPTX
ChatGPT's Deck on The Enduring Legacy of Fax Machines
Greg Swan
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
PPT
L2 Rules of Netiquette in Empowerment technology
Archibal2
 
Chapter 1 Introduction to CV and IP Lecture Note.pdf
Getnet Tigabie Askale -(GM)
 
Doc9.....................................
SofiaCollazos
 
Stamford - Community User Group Leaders_ Agentblazer Status, AI Sustainabilit...
Amol Dixit
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
Software Development Methodologies in 2025
KodekX
 
How to Build a Scalable Micro-Investing Platform in 2025 - A Founder’s Guide ...
Third Rock Techkno
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
SMACT Works
 
Coupa-Overview _Assumptions presentation
annapureddyn
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Smart Infrastructure and Automation through IoT Sensors
Rejig Digital
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
ChatGPT's Deck on The Enduring Legacy of Fax Machines
Greg Swan
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
L2 Rules of Netiquette in Empowerment technology
Archibal2
 

Developing an ASP.NET Web Application

  • 1. Developing an ASP.NET Web Application Rishi Kothari
  • 2. Agenda Overview of .NET Overview of ASP.NET Creating an ASP.NET Web Form Adding Event Procedures Validating User Input
  • 4. What is the .NET Framework? Developer Tools Clients User Experiences ASP.NET Web Applications XML Web Services Databases .NET Framework
  • 5. Benefits of .NET Based on Web standards and practices Functionality of .NET classes is universally available Code is organized into hierarchical namespaces and classes Language independent Solves existing problems: Even with the Internet, most applications and devices have trouble communicating with each other Programmers end up writing infrastructure instead of applications Programmers have had to limit their scope or continually learn new languages
  • 6. The .NET Framework Components Win32 Common Language Runtime .NET Framework Class Library ADO.NET and XML XML Web Services User Interface Visual Basic C++ C# ASP.NET Perl Python … Message Queuing COM+ (Transactions, Partitions, Object Pooling) IIS WMI
  • 7. The Common Language Runtime One runtime for all . NET-Based Languages Manages threads and memory Garbage collection Enforces code security Eliminates DLL versioning problems Multiple versions of a DLL can run simultaneously Applications can specify a version of a DLL to use
  • 8. Using the Class Library The class library is a set of classes (properties and methods) that all .NET applications can use You use objects by referencing the .NET namespaces Using a namespace in C#: Implicit object declaration Explicit object declaration using namespace_name ; using System.Web.UI.WebControls; ListBox ListBox1; ListBox1.Items.Add(&quot;First Item&quot;); System.Web.UI.WebControls.ListBox ListBox1; ListBox1.Items.Add(&quot;First Item&quot;);
  • 9. Multiple Language Support The .NET Framework is designed to support many languages More than 20 languages currently supported Microsoft provides Visual Basic .NET, C#, Visual J# .NET, and JScript .NET Benefits of multiple-language support Code modules are reusable Class Library access is the same for all languages The right language is used for the right task Performance is roughly equal between all languages
  • 10. Choosing a Language .NET Framework class library is the same regardless of language Performance All languages are compiled to MSIL Only performance difference is how each language compiler compiles to MSIL The runtime compiles all MSIL the same, regardless of its origin Development experience C# is similar to Java, C, Visual C++, and Pascal Visual Basic .NET is similar to Visual Basic Browser compatibility ASP.NET code is server-side code, so browser compatibility is not an issue
  • 12. ASP Web Application Architecture Presentation Tier Business Logic Tier Data Tier UI Pages (.htm) Graphic Files COM Objects Data Source ADO COM+ Services ASP Page (.asp)
  • 13. ASP.NET Web Application Architecture Presentation Tier Business Logic Tier Data Tier Graphic Files UI Pages (.htm) XML Web Services (.asmx) User Controls (.ascx) Code-Behind File (.aspx.vb or .aspx.cs) Proxy ADO.NET .NET Objects Data Source COM+ Services COM Objects RCW Web Form (.aspx)
  • 14. ASP.NET Coding Changes Page directives Language attribute must be in set the @Page directive Structural changes All functions and variables must be declared within a <script> block Only one language per page Render Functions are no longer supported; use Response.Write Design-Time controls are no longer supported Replaced with Web controls
  • 15. ASP.NET Runtime Compilation and Execution Native code C# Visual Basic .NET default.aspx Common Language Runtime HTML Which language? Visual Basic .NET compiler C# compiler MSIL JIT compiler
  • 18. Demonstration: Developing an ASP.NET Web Application Create a Web application Add controls to a Web Form View the HTML generated Add an event procedure
  • 19. What Is a Web Form? . aspx extension Page attributes @ Page directive Controls save state Body attributes Form attributes <%@ Page Language=&quot;C#&quot; Inherits=Project.WebForm1 %> <html> <body ms_positioning=&quot;GridLayout&quot;> <form id=&quot;Form1&quot; method=&quot;post&quot; runat=&quot;server&quot; > </form> </body> </html>
  • 20. What is a Server Control? Runat=&quot;server&quot; Event procedures run on the server View state saved Properties and methods are available in server-side event procedures <asp:Button id=&quot;Button1&quot; runat=&quot;server&quot; Text=&quot;Submit&quot;/> private void btn_Click(object sender, System.EventArgs e) { lblName.Text = txtName.Text; }
  • 21. Types of Server Controls HTML server controls Based on HTML elements Exist within the System.Web.UI.HtmlControls namespace Web server controls Exist within the System.Web.UI.WebControls namespace HTML that is generated by the control <input name=&quot;TextBox1&quot; type=&quot;text&quot; value=&quot;Text_to_Display&quot; Id=&quot;TextBox1&quot;/> <asp:TextBox id=&quot;TextBox1&quot; runat=&quot;server&quot;>Text_to_Display </asp:TextBox> <input type=&quot;text&quot; id=&quot;txtName&quot; runat=&quot;server&quot; />
  • 22. Maintaining the State of ASP.NET Server Controls Server control state is stored in __VIEWSTATE, a hidden control on the Web Form __VIEWSTATE stores state in a string value of name-value pairs <form id=&quot;Form1&quot; method=&quot;post&quot; runat=&quot;server&quot;> <input type=&quot;hidden&quot; name=&quot;__VIEWSTATE&quot; value=&quot;dDw3NzE0MTExODQ7Oz4=&quot; /> 'HTML here </form> On by default, adjustable at Web Form and control level <%@ Page EnableViewState=&quot;False&quot; %> <asp:ListBox id=&quot;ListName&quot; EnableViewState=&quot;true&quot; runat=&quot;server&quot;> </asp:ListBox>
  • 23. Demonstration: Using Server Controls to a Web Form Using HTML server controls Displaying browser-specific HTML
  • 24. Selecting the Appropriate Control You need specific functionality such as a calendar or ad rotator The control will interact with client and server script You are writing a page that might be used by a variety of browsers You are working with existing HTML pages and want to quickly add ASP.NET Web page functionality You prefer a Visual Basic-like programming model You prefer an HTML-like object model Use Web Server Controls if: Use HTML Server Controls if: Bandwidth is not a problem Bandwidth is limited
  • 26. How to Implement Code Three methods for adding code: Put code in the same file as content (mixed) Put code in a separate <SCRIPT> section of the content file (inline code) Put code in a separate file (code-behind pages) Code-behind pages are the Visual Studio .NET default Form1.aspx Form1.aspx Form1.aspx.vb or Form1.aspx.cs <tags> <tags> code code Separate files Single file Code-Behind Page
  • 27. Understanding How Code-Behind Pages Work Create separate files for user interface and interface logic Use @ Page directive to link the two files Page1.aspx <% @ Page Language=&quot;C#&quot; Inherits=&quot;Project.WebForm1&quot; Codebehind=&quot;Page1.aspx.cs&quot; Src = &quot;Page1.aspx.cs&quot; %> Page1.aspx.cs namespace Project { public class WebForm1 : System.Web.UI.Page { } }
  • 28. What are Event Procedures? Action in response to a user’s interaction with the controls on the page
  • 29. Demonstration: Using Events Open an ASP.NET page with controls and client-side and server-side event procedures Click on the controls to view client-side and server-side events running In the browser, view the source of the page In the editor, view the event procedure code
  • 30. Client-Side Event Procedures Internet .HTM Pages Typically used only with HTML controls Interpreted by the browser and run on the client Do not have access to server resources Use <SCRIPT language=&quot; language &quot;>
  • 31. Server-Side Event Procedures Used with both Web and HTML server controls Code is compiled and run on the server Have access to server resources Use <SCRIPT language =&quot;language&quot; runat=&quot;server&quot;> Internet .ASPX Pages
  • 32. Creating Event Procedures Visual Studio .NET declares variables and creates an event procedure template in the code-behind page protected System.Web.UI.WebControls.Button btn ; private void InitializeComponent() { this. btn.Click += new System.EventHandler(this. btn_Click ); } private void btn_Click (object sender, System.EventArgs e) { }
  • 33. Events in the Web page generation process ASP.NET server control events are handled when the Web page is posted back to the server Use the Page.IsPostback property to determine if the Web page is being generated for the first time Events in the Web Page Generation Process private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { // executes only on initial page load } //this code executes on every request } Page_Unload Page_Init Page_Load Server control events
  • 37. What Is Input Validation? Verifies that a control value is correctly entered by the user Blocks the processing of a page until all controls are valid Avoids spoofing or the addition of malicious code
  • 38. Client-Side and Server-Side Validation ASP.NET can create both client-side and server-side validation Client-side validation Dependent on browser version Instant feedback Reduces postback cycles Server-side validation Repeats all client-side validation Can validate against stored data Valid? Valid? User Enters Data No No Yes Yes Error Message Client Server Web Form Processed
  • 39. ASP.NET Validation Controls Compare to a custom formula CustomValidator Summarize the state of the validation controls on a page ValidationSummary Compare to a regular expression pattern RegularExpressionValidator Compare to a range RangeValidator Compare to another control, a value, or a data type CompareValidator Require user input RequiredFieldValidator Purpose Control Name
  • 40. Adding Validation Controls to a Web Form Add a validation control Select the input control to validate Set validation properties 1 2 3 <asp:TextBox id=&quot;txtName&quot; runat=&quot;server&quot; /> <asp: Type_of_Validator id=&quot; Validator_id &quot; runat=&quot;server&quot; ControlToValidate=&quot; txtName &quot; ErrorMessage=&quot; Message_for_error_summary &quot; Display=&quot; static|dynamic|none &quot; Text=&quot; Text_to_display_by_input_control &quot;> </asp: Type_of_Validator>
  • 41. Combining Validation Controls Can have multiple validation controls on a single input control Only the RequiredFieldValidator checks empty controls
  • 42. Demonstration: Using Validation Controls Create an ASP.NET Web Form with TextBox and Button controls Add a RequiredFieldValidator control Add a RangeValidator control Add a RegularExpressionValidator control Add a ValidationSummary control