SlideShare ist ein Scribd-Unternehmen logo
1 von 69
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
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 Coding Model
 Inline Code Model
 Code Behind Model
◦ We work with this model for better
organization of code and separation of
concerns
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 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
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
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
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
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.
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

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Developing an ASP.NET Web Application
Developing an ASP.NET Web ApplicationDeveloping an ASP.NET Web Application
Developing an ASP.NET Web Application
 
Java script
Java scriptJava script
Java script
 
Basics of JavaScript
Basics of JavaScriptBasics of JavaScript
Basics of JavaScript
 
Web forms in ASP.net
Web forms in ASP.netWeb forms in ASP.net
Web forms in ASP.net
 
JavaScript - Chapter 3 - Introduction
 JavaScript - Chapter 3 - Introduction JavaScript - Chapter 3 - Introduction
JavaScript - Chapter 3 - Introduction
 
C# basics
 C# basics C# basics
C# basics
 
MVC Architecture
MVC ArchitectureMVC Architecture
MVC Architecture
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
Html / CSS Presentation
Html / CSS PresentationHtml / CSS Presentation
Html / CSS Presentation
 
Master page in Asp.net
Master page in Asp.netMaster page in Asp.net
Master page in Asp.net
 
Asp.net state management
Asp.net state managementAsp.net state management
Asp.net state management
 
Introduction to back-end
Introduction to back-endIntroduction to back-end
Introduction to back-end
 
Overview of PHP and MYSQL
Overview of PHP and MYSQLOverview of PHP and MYSQL
Overview of PHP and MYSQL
 
Asp.net web api
Asp.net web apiAsp.net web api
Asp.net web api
 
C# Basics
C# BasicsC# Basics
C# Basics
 
Model View Controller (MVC)
Model View Controller (MVC)Model View Controller (MVC)
Model View Controller (MVC)
 
ASP.NET Tutorial - Presentation 1
ASP.NET Tutorial - Presentation 1ASP.NET Tutorial - Presentation 1
ASP.NET Tutorial - Presentation 1
 
Jsp ppt
Jsp pptJsp ppt
Jsp ppt
 
(Fast) Introduction to HTML & CSS
(Fast) Introduction to HTML & CSS (Fast) Introduction to HTML & CSS
(Fast) Introduction to HTML & CSS
 
Web api
Web apiWeb api
Web api
 

Ähnlich wie ASP.NET Lecture 1

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 Part1Neeraj Mathur
 
03 asp.net session04
03 asp.net session0403 asp.net session04
03 asp.net session04Vivek chan
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controlsRaed 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 Experiencesgoodfriday
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET PresentationRasel Khan
 
Parallelminds.asp.net with sp
Parallelminds.asp.net with spParallelminds.asp.net with sp
Parallelminds.asp.net with spparallelminder
 
Asp .net web form fundamentals
Asp .net web form fundamentalsAsp .net web form fundamentals
Asp .net web form fundamentalsGopal 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 introductionSireesh 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 indiaJignesh Aakoliya
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetAdil Mughal
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NETPeter Gfader
 

Ähnlich wie ASP.NET Lecture 1 (20)

ASP.NET Lecture 2
ASP.NET Lecture 2ASP.NET Lecture 2
ASP.NET Lecture 2
 
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)
 
Walther Ajax4
Walther Ajax4Walther Ajax4
Walther Ajax4
 
ASP.Net Presentation Part1
ASP.Net Presentation Part1ASP.Net Presentation Part1
ASP.Net Presentation Part1
 
Asp
AspAsp
Asp
 
03 asp.net session04
03 asp.net session0403 asp.net session04
03 asp.net session04
 
Asp.net control
Asp.net controlAsp.net control
Asp.net control
 
DITEC - E-Commerce & ASP.NET
DITEC - E-Commerce & ASP.NETDITEC - E-Commerce & ASP.NET
DITEC - E-Commerce & ASP.NET
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controls
 
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
 
Lessons
LessonsLessons
Lessons
 
NET_Training.pptx
NET_Training.pptxNET_Training.pptx
NET_Training.pptx
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
 
Parallelminds.asp.net with sp
Parallelminds.asp.net with spParallelminds.asp.net with sp
Parallelminds.asp.net with sp
 
Asp .net web form fundamentals
Asp .net web form fundamentalsAsp .net web form fundamentals
Asp .net web form fundamentals
 
Asp interview Question and Answer
Asp interview Question and Answer Asp interview Question and Answer
Asp interview Question and Answer
 
Asp introduction
Asp introductionAsp introduction
Asp introduction
 
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
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NET
 

Mehr von Julie Iskander (20)

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

Kürzlich hochgeladen

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 

Kürzlich hochgeladen (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

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
  • 11.
  • 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.
  • 20.
  • 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
  • 22.
  • 23.
  • 24.
  • 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
  • 30.
  • 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.
  • 36.
  • 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
  • 40.
  • 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
  • 44.
  • 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
  • 48.
  • 49.
  • 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.
  • 63.
  • 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

Hinweis der Redaktion

  1. Difference between dynamic and static sites
  2. 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.
  3. First Hello World Then say HI
  4. Default form tag html rendering <form method=“post” action=“samepage.aspx” id=“form”>
  5. Default form tag html rendering <form method=“post” action=“samepage.aspx” id=“form”>
  6. Separation of Concerns
  7. Directives  are commands to the compiler when compiling a page or control <%@ [Directive] [Attribute=Value] %> Page Directive control behaviour of pages
  8. 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.
  9. AllControls page
  10. Viewstate can be encrypted
  11. 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
  12. PageEvents page
  13. 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
  14. 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
  15. 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
  16. Classical ASP /PHP developer do it manually and write the code themselves
  17. PostBackPage page Autopostback page