SlideShare a Scribd company logo
ASP.NET 4.0
Julie Iskander
MSC. Communication and Electronics
Lab Setup
 Windows 7 (not limited edition)
 IIS 7.x
 MS SQL Server 2008 +
 MS Visual Studio 2010 +
Lecture Outlines
 Introduction to the Web
 ASP.NET overview
 ASP.NET Controls
 Page Class
Introduction to the
Web
Introduction to the Web
 Client/Server Architecture
 Web Technologies (Client Side Versus
Server Side)
Client/Server Architecture
 What is a web client?
 What is a web server?
 Web server examples (IIS, Apache,
nginx,GWS, lighttpd…………etc.)
Client/Server Architecture
Web Technologies
Client Side and Server Side
ASP.NET Overview
ASP.NET Overview
 What is ASP.NET?
 ASP.NET and MS Visual Studio
 Example
 How do ASP.NET works?
 PostBack
 Example
ASP.NET Lecture 1
What is ASP.NET?
 ASP.NET is a free web framework for building
WebSites and WebApplications using HTML,
CSS and JavaScript and .Net Framework.
 Microsoft definition from www.asp.net
 ASP.NET is a WebApplication framework
developed by Microsoft to allow programmers
to build dynamic WebSites, WebApplications
and WebServices.
 First released, January 2002 with .NET
Framework 1.0, and is the successor to
Microsoft’s ASP technology.
 From Wikipedia.com
ASP.NET and MS. Visual
Studio
 Unified web development model for building
web applications.
 A new programming model and
infrastructure.
 Separates code from HTML
 Provides a GUI designer and a fully
integrated debugging support.
 Is a compiled, .NET based environment.
 Event-driven model
 Applications are written in any .NET
compatible language (VB.NET, C#,…., etc.)
ASP.NET and MS. Visual
Studio
 ASP.NET supports three approaches
to build web sites:
◦ Web Pages using WebMatrix
◦ MVC
◦ Web Forms
ASP.NET and MS. Visual
Studio
Convert from an HTML to an aspx page
Define: RoundTrip, PostBack
PostBack
 An HTTP POST to the same page that
the form is on.
 The contents of the form are POSTed
back to the same URL as the form.
 Allows a page to perform validation
and processing on its own form data.
PostBack
ASP.NET Lecture 1
ASP.NET Coding Model
 Inline Code Model
 Code Behind Model
◦ We work with this model for better
organization of code and separation of
concerns
ASP.NET Lecture 1
ASP.NET Lecture 1
ASP.NET Lecture 1
ASP.NET
 ASP.NET is OO so everything is represented with classes
and objects
 The application starts once the first request to the application
and must not be restarted often, except for maintenance.
 The page is compiled and cached on first request.
 Each Application has a virtual directory on the web server.
 ASP.NET is event-driven. There are:
1. global application events.
2. page related events
3. control related events
 Note : Eventually, the page is rendered
into HTML.
How do ASP.NET works?
 Runs on the web server.
 Renders appropriate markup (HTML) to
the requesting browser.
 Completely object-oriented.
 Works with HTML elements using
properties, methods, and events.
 Controls look and feel through skins,
themes and master-pages
How do ASP.NET works?
 A simple request flow:
1. A page is requested by a client
2. Web server sends it to the worker process
(w3wp.exe)
3. Worker process processes the request and
returns response
a. Instantiates a page object
b. Run page events
c. Instantiates control objects
d. Run control events
e. Render page to html
f. Destroys page object
4. Web server sends response to the client
How do ASP.NET works?
 HTTP is a stateless protocol.
 In ASP.NET, after page rendering to
HTML, the page objects is destroyed.
 However, ASP.NET has state
management techniques using session
state, view state, cookies, query
string,…… to save user information and
controls state.
ASP.NET Page Object
Generation
 A merge between the generated code,
and the partial class you write in the
*.aspx.cs file
ASP.NET Lecture 1
ASP.NET Controls
ASP.NET Controls
 HTML Controls
 HTML Server Controls
 Web Controls
HTML Controls
 Ordinary XHTML tags
 Stateless
 Aren’t accessed in server code except
if runat=“server” attribute is added
 HTML Server Control
HTML Server Controls
 Equivalents for standard HTML elements.
 Provide an object interface for HTML
elements.
 Retain their state between postbacks
 The HTML Control Classes defined in the
System.Web.UI.HtmlControls namespace.
 Fire server-side events
◦ ServerClick  actually post back the page,
◦ ServerChange  it doesn’t occur until the
page is posted back.
HTML Server Controls
ASP.NET Lecture 1
Web Controls
 Provide Windows closely-resembled
controls.
 Feature user interface elements that
may have/haven’t a direct HTML
equivalent, such as the Label,
TextBox, GridView, Calendar, and
validation controls.
 Adaptive rendering
Web Controls
Web Controls
ASP.NET Lecture 1
Convert from an HTML to an aspx page
Remember
The web form is
recreated with every
round-trip. It doesn’t
persist or remain in
memory longer than it
takes to render a single
request.
Remember
Only one form can
has a runat=server
attribute in each
page
ASP.NET Lecture 1
View State
 ASP.NET has an integrated state
serialization mechanism.
 Hidden field to store information, in a
compressed format, about the state of
every control in the page.
 Advantage free server resources
 Disadvantage  bigger page size,
longer receive and
post time
View State
 Serialization is the process of
converting an object into a stream of
bytes in order to persist it to memory,
a database, or a file. Its main purpose
is to save the state of an objet in order
to be able to recreate it when needed.
The reverse process is called
deserialization.
 ViewState is serialized as a Base64
string
Viewstate
 Enable ViewState property, to enable
the storage of controls values.
◦ EnableViewState=false, a small amount
of viewstate info is still stored
(controlstate), it can never be disabled.
◦ EnableViewstate=false, has effect on
datagrids
ASP.NET Lecture 1
ASP.NET Lecture 1
Page Class
Page Class
 Page Lifecycle
 Page Class properties
 Page as a Container
 Event Model
 How PostBack Events Work?
Page Life Cycle
Convert from an HTML to an aspx page
Page Class
 Inherits System.Web.UI.Page
 Basic Property
◦ IsPostBack :
 boolean
◦ Request:
 HttpRequest object info about the user’s browser, to
transmit information from one page to another using
query string, to RETRIEVE cookies,
◦ Response:
 HttpResponse object to redirect to a different web
page, to CREATE cookies.
◦ Server:
 HttpServerUtility object tasks as to encode text
Sending user to another
page
Response.Redirect() Server.Transfer()
 Sends a redirect msg to
client, which then sends
a request for the new
page (round trip)
 Can redirect to any page
in the website or any
absolute URL.
 Client Browser reflects
the URL Change
 Starts processing the
new page and sends the
rendered HTML.
 Can’t access pages
outside web application,
or non-ASP.NET page.
 Client Browser URL isn’t
changed  no bookmark
support
Page As A Control Container
 After creating page object
 Foreach element with runat=server
attr.
◦ Create control object
◦ Configure properties
◦ Add to controls collection
of the page
 The same happened recursively for
nested controls
Page As A Control Container
 Page.Controls
 Page.FindControl(“ControlID”);
Convert from an HTML to an aspx page
AVOID
INITIAIZING IN
CODE, USE
CONTROL TAG
PROPERTIES.
Remember:
Initializing a control in
Page.Load counts as a
change and is stored in
the viewstate.
Events Model
 AutoPostBack
 Events, Event Handling happens in
two ways:
Wait for next postback
A single postback results
in several change events,
which fire one
after the other, in an
undetermined order.
Automatic postback
Force a control to
postback immediately.
How PostBack Events Work?
How PostBack Events Work?
 On Server Side:
◦ ASP.NET re-creates the Page object.
◦ ASP.NET retrieves state info from the hidden viewstate field to
update the controls.
◦ The Page.Load event is fired.
◦ The appropriate change events are fired for the controls.
◦ The Page.PreRender event fires, and the page is rendered.
◦ The Page.Unload event is fired.
◦ The new page is sent to the client.
ASP.NET Lecture 1
Reading Assignment 1
 ASP.NET Page Life Cycle Overview ,
http://msdn.microsoft.com/en-
us/library/ms178472.aspx
 View State Chunking
Report #1
 What is the difference between a web
page and a web site and a web
application?
 What’s the difference between
Website project and web application
project in visual studio?
Lab #1
The aim of the labs is to create a
website to sell books, the site will be
called Bookies.com.
 First I need to register my data (name,
gender, age, preferences, country, city)
(register.aspx)
 Then I will browser through books
images and titles that are put in a table
structure by default 2 rows and 2
columns with a more link for more data.
Lab hints
 Lab steps:
◦ Put your controls
◦ Add styles necessary
◦ Start adding functionality
 Use html controls whenever possible
 Html hints
◦ Search for fieldset and legend tags
 Use
◦ Request.QueryString
◦ HyperLink.NavigationUrl
◦ HyperLink.Enabled
 Enjoy ASP.NET!!!
Report #1
 What is the difference between a web
page and a web site and a web
application?
 What’s the difference between
Website project and web application
project in visual studio?
REFERENCES
 [1] Beginning ASP.NET 4 In C# 2010, Matthew
Macdonald, Apress
 [2] Web Application Architecture Principles, Protocols
And Practices, Leon Shklar And Richard Rosen, Wiley
 [3] Professional AS P.NE T 4 In C# And VB, Bill Evjen,
Scott Hanselman And Devin Rader, Wiley
 [4] Pro ASP.NET In C# 2010, Fourth Edition,matthew
Macdonald, Adam Freeman, And Mario Szpuszta,
Apress
 http://asp.net-tutorials.com/
 http://www.asp.net/
 http://msdn.microsoft.com/en-us/library/ee532866.aspx
back
Ad

More Related Content

What's hot (20)

Asp.net mvc basic introduction
Asp.net mvc basic introductionAsp.net mvc basic introduction
Asp.net mvc basic introduction
Bhagath Gopinath
 
Ajax presentation
Ajax presentationAjax presentation
Ajax presentation
Bharat_Kumawat
 
ASP.NET MVC Presentation
ASP.NET MVC PresentationASP.NET MVC Presentation
ASP.NET MVC Presentation
Volkan Uzun
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
Arulmurugan Rajaraman
 
Web controls
Web controlsWeb controls
Web controls
Sarthak Varshney
 
Modern Web Development
Modern Web DevelopmentModern Web Development
Modern Web Development
Robert Nyman
 
PHP - Introduction to PHP AJAX
PHP -  Introduction to PHP AJAXPHP -  Introduction to PHP AJAX
PHP - Introduction to PHP AJAX
Vibrant Technologies & Computers
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
habib_786
 
ASP.NET Page Life Cycle
ASP.NET Page Life CycleASP.NET Page Life Cycle
ASP.NET Page Life Cycle
Abhishek Sur
 
3. Java Script
3. Java Script3. Java Script
3. Java Script
Jalpesh Vasa
 
ASP.NET Basics
ASP.NET Basics ASP.NET Basics
ASP.NET Basics
baabtra.com - No. 1 supplier of quality freshers
 
ASP.NET - Life cycle of asp
ASP.NET - Life cycle of aspASP.NET - Life cycle of asp
ASP.NET - Life cycle of asp
priya Nithya
 
Java script
Java scriptJava script
Java script
Abhishek Kesharwani
 
ASP.NET Web form
ASP.NET Web formASP.NET Web form
ASP.NET Web form
Md. Mahedee Hasan
 
1 03 - CSS Introduction
1 03 - CSS Introduction1 03 - CSS Introduction
1 03 - CSS Introduction
apnwebdev
 
Web forms in ASP.net
Web forms in ASP.netWeb forms in ASP.net
Web forms in ASP.net
Madhuri Kavade
 
Oops concepts in php
Oops concepts in phpOops concepts in php
Oops concepts in php
CPD INDIA
 
Lab #2: Introduction to Javascript
Lab #2: Introduction to JavascriptLab #2: Introduction to Javascript
Lab #2: Introduction to Javascript
Walid Ashraf
 
Asp.net state management
Asp.net state managementAsp.net state management
Asp.net state management
priya Nithya
 
Css pseudo-classes
Css pseudo-classesCss pseudo-classes
Css pseudo-classes
Webtech Learning
 

Similar to ASP.NET Lecture 1 (20)

ASP.NET Lecture 2
ASP.NET Lecture 2ASP.NET Lecture 2
ASP.NET Lecture 2
Julie Iskander
 
Introduction to ASP related to basics of asp
Introduction to ASP related to basics of aspIntroduction to ASP related to basics of asp
Introduction to ASP related to basics of asp
ssuserbf6ebe
 
ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)
Hatem Hamad
 
Walther Ajax4
Walther Ajax4Walther Ajax4
Walther Ajax4
rsnarayanan
 
ASP.Net Presentation Part1
ASP.Net Presentation Part1ASP.Net Presentation Part1
ASP.Net Presentation Part1
Neeraj Mathur
 
Asp
AspAsp
Asp
Kundan Kumar Pandey
 
03 asp.net session04
03 asp.net session0403 asp.net session04
03 asp.net session04
Vivek Singh Chandel
 
Asp.net control
Asp.net controlAsp.net control
Asp.net control
Paneliya Prince
 
DITEC - E-Commerce & ASP.NET
DITEC - E-Commerce & ASP.NETDITEC - E-Commerce & ASP.NET
DITEC - E-Commerce & ASP.NET
Rasan Samarasinghe
 
asp-2005311dgvdfvdfvfdfvdvfdbfdb03252 (1).ppt
asp-2005311dgvdfvdfvfdfvdvfdbfdb03252 (1).pptasp-2005311dgvdfvdfvfdfvdvfdbfdb03252 (1).ppt
asp-2005311dgvdfvdfvfdfvdvfdbfdb03252 (1).ppt
Anwar Patel
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controls
Raed Aldahdooh
 
Lessons from the Trenches: Engineering Great AJAX Experiences
Lessons from the Trenches: Engineering Great AJAX ExperiencesLessons from the Trenches: Engineering Great AJAX Experiences
Lessons from the Trenches: Engineering Great AJAX Experiences
goodfriday
 
Lessons
LessonsLessons
Lessons
guest1019f4
 
NET_Training.pptx
NET_Training.pptxNET_Training.pptx
NET_Training.pptx
ssuserc28c7c1
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
Rasel Khan
 
Parallelminds.asp.net with sp
Parallelminds.asp.net with spParallelminds.asp.net with sp
Parallelminds.asp.net with sp
parallelminder
 
Asp .net web form fundamentals
Asp .net web form fundamentalsAsp .net web form fundamentals
Asp .net web form fundamentals
Gopal Ji Singh
 
Asp interview Question and Answer
Asp interview Question and Answer Asp interview Question and Answer
Asp interview Question and Answer
home
 
Asp introduction
Asp introductionAsp introduction
Asp introduction
Sireesh K
 
Overview of ASP.Net by software outsourcing company india
Overview of ASP.Net by software outsourcing company indiaOverview of ASP.Net by software outsourcing company india
Overview of ASP.Net by software outsourcing company india
Jignesh Aakoliya
 
Introduction to ASP related to basics of asp
Introduction to ASP related to basics of aspIntroduction to ASP related to basics of asp
Introduction to ASP related to basics of asp
ssuserbf6ebe
 
ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)
Hatem Hamad
 
ASP.Net Presentation Part1
ASP.Net Presentation Part1ASP.Net Presentation Part1
ASP.Net Presentation Part1
Neeraj Mathur
 
asp-2005311dgvdfvdfvfdfvdvfdbfdb03252 (1).ppt
asp-2005311dgvdfvdfvfdfvdvfdbfdb03252 (1).pptasp-2005311dgvdfvdfvfdfvdvfdbfdb03252 (1).ppt
asp-2005311dgvdfvdfvfdfvdvfdbfdb03252 (1).ppt
Anwar Patel
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controls
Raed Aldahdooh
 
Lessons from the Trenches: Engineering Great AJAX Experiences
Lessons from the Trenches: Engineering Great AJAX ExperiencesLessons from the Trenches: Engineering Great AJAX Experiences
Lessons from the Trenches: Engineering Great AJAX Experiences
goodfriday
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
Rasel Khan
 
Parallelminds.asp.net with sp
Parallelminds.asp.net with spParallelminds.asp.net with sp
Parallelminds.asp.net with sp
parallelminder
 
Asp .net web form fundamentals
Asp .net web form fundamentalsAsp .net web form fundamentals
Asp .net web form fundamentals
Gopal Ji Singh
 
Asp interview Question and Answer
Asp interview Question and Answer Asp interview Question and Answer
Asp interview Question and Answer
home
 
Asp introduction
Asp introductionAsp introduction
Asp introduction
Sireesh K
 
Overview of ASP.Net by software outsourcing company india
Overview of ASP.Net by software outsourcing company indiaOverview of ASP.Net by software outsourcing company india
Overview of ASP.Net by software outsourcing company india
Jignesh Aakoliya
 
Ad

More from Julie Iskander (20)

HTML 5
HTML 5HTML 5
HTML 5
Julie Iskander
 
Data structures and algorithms
Data structures and algorithmsData structures and algorithms
Data structures and algorithms
Julie Iskander
 
C for Engineers
C for EngineersC for Engineers
C for Engineers
Julie Iskander
 
Design Pattern lecture 3
Design Pattern lecture 3Design Pattern lecture 3
Design Pattern lecture 3
Julie Iskander
 
Scriptaculous
ScriptaculousScriptaculous
Scriptaculous
Julie Iskander
 
Prototype Framework
Prototype FrameworkPrototype Framework
Prototype Framework
Julie Iskander
 
Design Pattern lecture 4
Design Pattern lecture 4Design Pattern lecture 4
Design Pattern lecture 4
Julie Iskander
 
Design Pattern lecture 2
Design Pattern lecture 2Design Pattern lecture 2
Design Pattern lecture 2
Julie Iskander
 
Design Pattern lecture 1
Design Pattern lecture 1Design Pattern lecture 1
Design Pattern lecture 1
Julie Iskander
 
Ajax and ASP.NET AJAX
Ajax and ASP.NET AJAXAjax and ASP.NET AJAX
Ajax and ASP.NET AJAX
Julie Iskander
 
jQuery
jQueryjQuery
jQuery
Julie Iskander
 
ASP.NET Lecture 5
ASP.NET Lecture 5ASP.NET Lecture 5
ASP.NET Lecture 5
Julie Iskander
 
ASP.NET lecture 8
ASP.NET lecture 8ASP.NET lecture 8
ASP.NET lecture 8
Julie Iskander
 
ASP.NET Lecture 7
ASP.NET Lecture 7ASP.NET Lecture 7
ASP.NET Lecture 7
Julie Iskander
 
ASP.NET Lecture 6
ASP.NET Lecture 6ASP.NET Lecture 6
ASP.NET Lecture 6
Julie Iskander
 
ASP.NET Lecture 4
ASP.NET Lecture 4ASP.NET Lecture 4
ASP.NET Lecture 4
Julie Iskander
 
ASP.NET Lecture 3
ASP.NET Lecture 3ASP.NET Lecture 3
ASP.NET Lecture 3
Julie Iskander
 
AJAX and JSON
AJAX and JSONAJAX and JSON
AJAX and JSON
Julie Iskander
 
Object Oriented JavaScript
Object Oriented JavaScriptObject Oriented JavaScript
Object Oriented JavaScript
Julie Iskander
 
DOM and Events
DOM and EventsDOM and Events
DOM and Events
Julie Iskander
 
Ad

Recently uploaded (20)

The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Automation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From AnywhereAutomation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From Anywhere
Lynda Kane
 
Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.
gregtap1
 
Rock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning JourneyRock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning Journey
Lynda Kane
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5..."Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
Fwdays
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Automation Dreamin' 2022: Sharing Some Gratitude with Your Users
Automation Dreamin' 2022: Sharing Some Gratitude with Your UsersAutomation Dreamin' 2022: Sharing Some Gratitude with Your Users
Automation Dreamin' 2022: Sharing Some Gratitude with Your Users
Lynda Kane
 
Learn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step GuideLearn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step Guide
Marcel David
 
"PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System""PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System"
Jainul Musani
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Automation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From AnywhereAutomation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From Anywhere
Lynda Kane
 
Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.
gregtap1
 
Rock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning JourneyRock, Paper, Scissors: An Apex Map Learning Journey
Rock, Paper, Scissors: An Apex Map Learning Journey
Lynda Kane
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5..."Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
Fwdays
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Automation Dreamin' 2022: Sharing Some Gratitude with Your Users
Automation Dreamin' 2022: Sharing Some Gratitude with Your UsersAutomation Dreamin' 2022: Sharing Some Gratitude with Your Users
Automation Dreamin' 2022: Sharing Some Gratitude with Your Users
Lynda Kane
 
Learn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step GuideLearn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step Guide
Marcel David
 
"PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System""PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System"
Jainul Musani
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 

ASP.NET Lecture 1

  • 1. ASP.NET 4.0 Julie Iskander MSC. Communication and Electronics
  • 2. Lab Setup  Windows 7 (not limited edition)  IIS 7.x  MS SQL Server 2008 +  MS Visual Studio 2010 +
  • 3. Lecture Outlines  Introduction to the Web  ASP.NET overview  ASP.NET Controls  Page Class
  • 5. Introduction to the Web  Client/Server Architecture  Web Technologies (Client Side Versus Server Side)
  • 6. Client/Server Architecture  What is a web client?  What is a web server?  Web server examples (IIS, Apache, nginx,GWS, lighttpd…………etc.)
  • 10. ASP.NET Overview  What is ASP.NET?  ASP.NET and MS Visual Studio  Example  How do ASP.NET works?  PostBack  Example
  • 12. What is ASP.NET?  ASP.NET is a free web framework for building WebSites and WebApplications using HTML, CSS and JavaScript and .Net Framework.  Microsoft definition from www.asp.net  ASP.NET is a WebApplication framework developed by Microsoft to allow programmers to build dynamic WebSites, WebApplications and WebServices.  First released, January 2002 with .NET Framework 1.0, and is the successor to Microsoft’s ASP technology.  From Wikipedia.com
  • 13. ASP.NET and MS. Visual Studio  Unified web development model for building web applications.  A new programming model and infrastructure.  Separates code from HTML  Provides a GUI designer and a fully integrated debugging support.  Is a compiled, .NET based environment.  Event-driven model  Applications are written in any .NET compatible language (VB.NET, C#,…., etc.)
  • 14. ASP.NET and MS. Visual Studio  ASP.NET supports three approaches to build web sites: ◦ Web Pages using WebMatrix ◦ MVC ◦ Web Forms
  • 15. ASP.NET and MS. Visual Studio
  • 16. Convert from an HTML to an aspx page
  • 18. PostBack  An HTTP POST to the same page that the form is on.  The contents of the form are POSTed back to the same URL as the form.  Allows a page to perform validation and processing on its own form data.
  • 21. ASP.NET Coding Model  Inline Code Model  Code Behind Model ◦ We work with this model for better organization of code and separation of concerns
  • 25. ASP.NET  ASP.NET is OO so everything is represented with classes and objects  The application starts once the first request to the application and must not be restarted often, except for maintenance.  The page is compiled and cached on first request.  Each Application has a virtual directory on the web server.  ASP.NET is event-driven. There are: 1. global application events. 2. page related events 3. control related events  Note : Eventually, the page is rendered into HTML.
  • 26. How do ASP.NET works?  Runs on the web server.  Renders appropriate markup (HTML) to the requesting browser.  Completely object-oriented.  Works with HTML elements using properties, methods, and events.  Controls look and feel through skins, themes and master-pages
  • 27. How do ASP.NET works?  A simple request flow: 1. A page is requested by a client 2. Web server sends it to the worker process (w3wp.exe) 3. Worker process processes the request and returns response a. Instantiates a page object b. Run page events c. Instantiates control objects d. Run control events e. Render page to html f. Destroys page object 4. Web server sends response to the client
  • 28. How do ASP.NET works?  HTTP is a stateless protocol.  In ASP.NET, after page rendering to HTML, the page objects is destroyed.  However, ASP.NET has state management techniques using session state, view state, cookies, query string,…… to save user information and controls state.
  • 29. ASP.NET Page Object Generation  A merge between the generated code, and the partial class you write in the *.aspx.cs file
  • 32. ASP.NET Controls  HTML Controls  HTML Server Controls  Web Controls
  • 33. HTML Controls  Ordinary XHTML tags  Stateless  Aren’t accessed in server code except if runat=“server” attribute is added  HTML Server Control
  • 34. HTML Server Controls  Equivalents for standard HTML elements.  Provide an object interface for HTML elements.  Retain their state between postbacks  The HTML Control Classes defined in the System.Web.UI.HtmlControls namespace.  Fire server-side events ◦ ServerClick  actually post back the page, ◦ ServerChange  it doesn’t occur until the page is posted back.
  • 37. Web Controls  Provide Windows closely-resembled controls.  Feature user interface elements that may have/haven’t a direct HTML equivalent, such as the Label, TextBox, GridView, Calendar, and validation controls.  Adaptive rendering
  • 41. Convert from an HTML to an aspx page
  • 42. Remember The web form is recreated with every round-trip. It doesn’t persist or remain in memory longer than it takes to render a single request.
  • 43. Remember Only one form can has a runat=server attribute in each page
  • 45. View State  ASP.NET has an integrated state serialization mechanism.  Hidden field to store information, in a compressed format, about the state of every control in the page.  Advantage free server resources  Disadvantage  bigger page size, longer receive and post time
  • 46. View State  Serialization is the process of converting an object into a stream of bytes in order to persist it to memory, a database, or a file. Its main purpose is to save the state of an objet in order to be able to recreate it when needed. The reverse process is called deserialization.  ViewState is serialized as a Base64 string
  • 47. Viewstate  Enable ViewState property, to enable the storage of controls values. ◦ EnableViewState=false, a small amount of viewstate info is still stored (controlstate), it can never be disabled. ◦ EnableViewstate=false, has effect on datagrids
  • 51. Page Class  Page Lifecycle  Page Class properties  Page as a Container  Event Model  How PostBack Events Work?
  • 53. Convert from an HTML to an aspx page
  • 54. Page Class  Inherits System.Web.UI.Page  Basic Property ◦ IsPostBack :  boolean ◦ Request:  HttpRequest object info about the user’s browser, to transmit information from one page to another using query string, to RETRIEVE cookies, ◦ Response:  HttpResponse object to redirect to a different web page, to CREATE cookies. ◦ Server:  HttpServerUtility object tasks as to encode text
  • 55. Sending user to another page Response.Redirect() Server.Transfer()  Sends a redirect msg to client, which then sends a request for the new page (round trip)  Can redirect to any page in the website or any absolute URL.  Client Browser reflects the URL Change  Starts processing the new page and sends the rendered HTML.  Can’t access pages outside web application, or non-ASP.NET page.  Client Browser URL isn’t changed  no bookmark support
  • 56. Page As A Control Container  After creating page object  Foreach element with runat=server attr. ◦ Create control object ◦ Configure properties ◦ Add to controls collection of the page  The same happened recursively for nested controls
  • 57. Page As A Control Container  Page.Controls  Page.FindControl(“ControlID”);
  • 58. Convert from an HTML to an aspx page
  • 59. AVOID INITIAIZING IN CODE, USE CONTROL TAG PROPERTIES. Remember: Initializing a control in Page.Load counts as a change and is stored in the viewstate.
  • 60. Events Model  AutoPostBack  Events, Event Handling happens in two ways: Wait for next postback A single postback results in several change events, which fire one after the other, in an undetermined order. Automatic postback Force a control to postback immediately.
  • 62. How PostBack Events Work?  On Server Side: ◦ ASP.NET re-creates the Page object. ◦ ASP.NET retrieves state info from the hidden viewstate field to update the controls. ◦ The Page.Load event is fired. ◦ The appropriate change events are fired for the controls. ◦ The Page.PreRender event fires, and the page is rendered. ◦ The Page.Unload event is fired. ◦ The new page is sent to the client.
  • 64. Reading Assignment 1  ASP.NET Page Life Cycle Overview , http://msdn.microsoft.com/en- us/library/ms178472.aspx  View State Chunking
  • 65. Report #1  What is the difference between a web page and a web site and a web application?  What’s the difference between Website project and web application project in visual studio?
  • 66. Lab #1 The aim of the labs is to create a website to sell books, the site will be called Bookies.com.  First I need to register my data (name, gender, age, preferences, country, city) (register.aspx)  Then I will browser through books images and titles that are put in a table structure by default 2 rows and 2 columns with a more link for more data.
  • 67. Lab hints  Lab steps: ◦ Put your controls ◦ Add styles necessary ◦ Start adding functionality  Use html controls whenever possible  Html hints ◦ Search for fieldset and legend tags  Use ◦ Request.QueryString ◦ HyperLink.NavigationUrl ◦ HyperLink.Enabled  Enjoy ASP.NET!!!
  • 68. Report #1  What is the difference between a web page and a web site and a web application?  What’s the difference between Website project and web application project in visual studio?
  • 69. REFERENCES  [1] Beginning ASP.NET 4 In C# 2010, Matthew Macdonald, Apress  [2] Web Application Architecture Principles, Protocols And Practices, Leon Shklar And Richard Rosen, Wiley  [3] Professional AS P.NE T 4 In C# And VB, Bill Evjen, Scott Hanselman And Devin Rader, Wiley  [4] Pro ASP.NET In C# 2010, Fourth Edition,matthew Macdonald, Adam Freeman, And Mario Szpuszta, Apress  http://asp.net-tutorials.com/  http://www.asp.net/  http://msdn.microsoft.com/en-us/library/ee532866.aspx back

Editor's Notes

  • #12: Difference between dynamic and static sites
  • #15: Web Pages ASP.NET Web Pages and the new Razor syntax provide a fast, approachable, and lightweight way to combine server code with HTML to create dynamic web content. Connect to databases, add video, link to social networking sites, and include many more features that let you create beautiful sites using the latest web standards. MVC ASP.NET MVC gives you a powerful, patterns-based way to build dynamic websites that enables a clean separation of concerns and that gives you full control over markup for enjoyable, agile development. ASP.NET MVC includes many features that enable fast, TDD-friendly development for creating sophisticated applications that use the latest web standards. Web Forms ASP.NET Web Forms lets you build dynamic websites using a familiar drag-and-drop, event-driven model. A design surface and hundreds of controls and components let you rapidly build sophisticated, powerful UI-driven sites with data access.
  • #17: First Hello World Then say HI
  • #19: Default form tag html rendering <form method=“post” action=“samepage.aspx” id=“form”>
  • #20: Default form tag html rendering <form method=“post” action=“samepage.aspx” id=“form”>
  • #22: Separation of Concerns
  • #23: Directives  are commands to the compiler when compiling a page or control <%@ [Directive] [Attribute=Value] %> Page Directive control behaviour of pages
  • #25: ASP.NET is OO so everything is represented with classes and objects The application is starts once the first request to the application and must not be restarted often, except for maintenance. The page is compiled and cached on first request. Each Application has a virtual directory on the web server. ASP.NET is an event-driven way of making web applications. There are: 1- global application events. 2- page related events 3- control related events Note : Eventually, the page is rendered into HTML.
  • #42: AllControls page
  • #50: Viewstate can be encrypted
  • #53: Page Initialization  Fire Page.Init (controls maynot be created and viewstate information isn’t loaded yet) generates all controls defines with tags in .aspx If postbacked  deserialize the viewstate information and apply it to the controls. User Code Initialization  Page.Load fired Validation After Page.Load and before events handling Event Handling  event model is just an emulation Automatic Data Binding  asp.net automatically performs updates and queries against data source controls 1- changes submited 2- Page.PreRender 3- Queries and controls bound Event handlers wont have access to the most recent data, not yet retrieved CleanUp Page.Unload , no change to controls since HTML already rendered
  • #54: PageEvents page
  • #55: To access all HTTP context information from a non-page class, use System.Web.HttpContext class, HttpContext.Current  static property, returns instance of HTTPContext representing all info on current request and response
  • #59: PageControls page DynamicControl page Remember on postback  dynamically created controls won’t be recreated automatically Use unique id to reach it or using recursive search
  • #61: Windows developers are accustomed to a rich event model that lets reacts to mouse movements, key presses and control interaction. In ASP.NET, responding to events are handled by the server. It adds an amount of overhead to respond. Rapid events are impractical. For UI effects, use client-side javascript or Ajax In HTML, there is only one way to submit a form  a submit button AutoPostBack available with web controls only
  • #62: Classical ASP /PHP developer do it manually and write the code themselves
  • #64: PostBackPage page Autopostback page