SlideShare a Scribd company logo
1 of 40
Download to read offline
 Objective
 Introduction to web programming using the Microsoft®
ASP.NET technology and Microsoft® IIS (Internet
Information Server).
 Prerequisite
 The programming language will be C#, the participants
are expected to have taken the IT519 or IT528 courseare expected to have taken the IT519 or IT528 course
 Lectures
 Saturday 13:00 – 16:00 at Main Campus FENS G032
 Grading
 Midterm (30%): 4th week of the course, Saturday
 Final Exam (40% ): Last (7th) week of the course, Saturday
 Homework (30% total): 2 homework will be assigned and
they are of equal weight
Client
Request:
http://www.msn.com/default.html
PC/Mac/Unix
+ Browser (IE, FireFox)
Web ServerServer
Response:
<html>…</html>
Network HTTP
TCP/IP
 HTTP / HTTPS (URL, GET/POST)
 Client-side:
› HTML / XHTML (Extensible HyperText Markup Language)
› JavaScript / VBScript (client-side scripting)
› Applets / ActiveX controls
Server-side: Server-side:
› PHP
› Phython
› JSP (Java Server Pages)
› ASP (Active Server Pages)
› ASP.NET (next generation of ASP)
Client
Request:
http://www.msn.com/default.aspx
PC/Mac/Unix
+ Browser (IE, FireFox)
IIS
(Internet Information Server)
Server
Response:
<html>…</html>
Network HTTP
TCP/IP
 What is server-side code?
› Software that runs on
the server, not the
client
› Receives input from
 URL parameters
 HTML form data
HTTP request
(form data,
HTTP
header data)
HTTP response
HTML, XML
 HTML form data
› Can access server-side
databases, e-mail
servers, files,
mainframes, etc.
› Dynamically builds a
custom HTML response
for a client
ASP page
(static HTML,
server-side
logic)
 ASP.NET provides services to allow the creation,
deployment, and execution of
Web Applications and Web Services
 Web Applications are built using Web Forms
 Web Forms are designed to make building
web-based applications as easy as building Visual Basic
applicationsapplications
 Built on .NET Framework: any .NET programming
language can be used (C#, Visual Basic)
 Complete object model
 Separation of code and UI
 Maintains page state
 Session management
 Caching, Debugging, Extensibility
 Let’s create our first ASP.NET page using Visual
Studio
1. Modify title of the page
2. Add a heading <h2>2. Add a heading <h2>
3. Look at the page in Design and Split modes
4. Add a Label control from the Toolbox
5. Change ID of the Label control
6. Change some physical properties of the Label control
7. Go to WebTime.aspx.cs file and add Page_Init
function to set Text property of the Label control
1 <%-- WebTime.aspx --%>
2 <%-- A page that displays the current time in a Label. --%>
3 <%@ Page Language="C#" AutoEventWireup="true"
CodeFile="WebTime.aspx.cs"
4 Inherits="WebTime" EnableSessionState="False" %>
5
6 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
7 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
8
9 <html xmlns="http://www.w3.org/1999/xhtml">
WebTime.aspx ( 1 of 2 )
Visual Studio generates the markup shown
when you create the GUI.
ASP.NET comments
begin with <%-- and
terminate with --%>,
and can span multiple
lines.
The Page directive
specifies information
needed by ASP.NET
to process this file.
9
9 <html xmlns="http://www.w3.org/1999/xhtml">
10 <head runat="server">
11 <title>A Simple Web Form Example</title>
12 </head>
13 <body>
14 <form id="form1" runat="server">
15 <div>
16 <h2>Current time on the web server:</h2>
ASPX file that displays the web server’s time.
The document type
declaration, which specifies
the document element name
and the PUBLIC URI for the
DTD that defines the
XHTML vocabulary.
XHTML documents
have the root element
html and markup
information about the
document in the head
element.
The body contains
the main content
that the browser
displays.
The form that contains our
XHTML text and controls is set
to execute on the server, which
generates equivalent XHTML.
17 <p>
18 <asp:Label ID="timeLabel" runat="server" BackColor="Black"
19 Font-Size="XX-Large" ForeColor="Yellow"
20 EnableViewState="False"></asp:Label>
21 </p>
22 </div>
WebTime.aspx
( 2 of 2 )
Markup for a label
web control.
The asp: tag prefix
22 </div>
23 </form>
24 </body>
25 </html>
ASPX file that displays the web server’s time. (Part 2 of 2. )
indicates that the
label is an ASP.NET
web control, not an
XHTML element.
• In an ASPX file a directive is delimited by <%@ and %>.
Examining an ASPX File
 The Page directive’s Language attribute specifies the
code-behind file’s language.
 The CodeFile attribute specifies the code-behind filename.
 When AutoEventWireup is true, ASP.NET automatically
treats a method of name Page_eventName as an event
When AutoEventWireup is true, ASP.NET automatically
treats a method of name Page_eventName as an event
handler.
 When AutoEvent-Wireup is set to false, you specify event
handlers using attributes in the Page directive just as you
would any other web control.
 The Inherits attribute (line 4) specifies the class in the code-
behind file from which this ASP.NET class inherits.
 The document type declaration, which specifies the
document element name and the PUBLIC URI for the DTD
that defines the XHTML vocabulary.
 XHTML documents have the root element html and markup
information about the document in the head element.
Setting the runat attribute to "server" indicates that ASP.NET Setting the runat attribute to "server" indicates that ASP.NET
processes the element and its nested elements and
generates the corresponding XHTML.
 The body contains the main content that the browser
displays.
 The form that contains our XHTML text and controls is set to
execute on the server, which generates equivalent XHTML.
 The ID attribute assigns a name to a control,
used as an identifier in the code-behind file.
 The asp: tag prefix indicates that the label is an
ASP.NET web control, not an XHTML element.
Each web control maps to a corresponding Each web control maps to a corresponding
XHTML element or group of elements.
 The asp:Label control is written as an XHTML span
element.
 A span element contains text with formatting styles.
 This control is processed on the server so that the
server can translate the control into XHTML.server can translate the control into XHTML.
 If this is not supported, the asp:Label element is
written as text to the client.
1 // WebTime.aspx.cs
2 // Code-behind file for a page that displays the current time.
3 using System;
4
5 public partial class WebTime : System.Web.UI.Page
6 {
7 // initializes the contents of the page
8 protected void Page_Init( object sender, EventArgs e )
The code-behind file
(WebTime.aspx.cs)
The Page_Init
method handles the
page’s Init event,
which indicates that8 protected void Page_Init( object sender, EventArgs e )
9 {
10 // display the server's current time in timeLabel
11 timeLabel.Text = DateTime.Now.ToString( "hh:mm:ss" );
12 } // end method Page_Init
13 } // end class WebTime
Code-behind file for a page that displays
the web server’s time. (Part 1 of 2.)
which indicates that
the page is ready to
be initialized.
Retrieve the current
time and formats it
as hh:mm:ss.
WebTime.aspx Example Run
• The Page_Init method handles the page’s Init event,
which indicates that the page is ready to be initialized.
 The code-behind file inherits from Page, which defines the
general functionality of a web page.
 The code-behind file contains a partial class.
 ASP.NET generates another partial class that defines the
remainder of that class, based on the markup in the ASPXremainder of that class, based on the markup in the ASPX
file.
 The first time the web page is requested, this class is
compiled, and an instance is created.
 This instance represents our page—it creates the XHTML that
is sent to the client.
 Once an instance of the web page has been created, multiple
clients can use it to access the page—no recompilation is
necessary.
17
 When an instance of the page is created, the PreInit event occurs
first, invoking method Page_PreInit, which can be used to set a page’s
theme.
The Init event occurs next, invoking method Page_Init, which is used
to initialize objects and other aspects of the page.
 Next, the Load event occurs, and the Page_Load event Next, the Load event occurs, and the Page_Load event
handler executes.
 The Init event is raised only once (when the page is first requested).
 The Load event is raised with every request.
 The page then processes any events that are generated by the
page’s controls.
 Once a response has been generated and sent, an Unload event
occurs, which calls Page_Unload, which typically releases
resources used by the page.
18
 To view this XHTML, select View Source from the
Page menu ) in Internet Explorer (or View >
Page Source if you are using Firefox).
 Nonvisual form components, called hidden
inputs, store data that the user doesn’t need toinputs, store data that the user doesn’t need to
see.
 Attribute method of the form element specifies
the request method (usually get or post). The
action attribute identifies the resource that will
be requested when a form is submitted.
19
1 <!-- WebTime.html -->
2 <!-- The XHTML generated when WebTime.aspx is loaded. -->
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
4 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
5
6 <html xmlns="http://www.w3.org/1999/xhtml">
7 <head>
8 <title>A Simple Web Form Example</title>
9 </head>
10 <body>
WebTime.html
( 1 of 2 )
• Figure shows the XHTML generated by ASP.NET when
a web browser requests WebTime.aspx.
Attribute method
of the form
element specifies
the request method
(usually get or
post). The
action attribute
identifies the
resource that will
be requested when
20
10 <body>
11 <form method="post" action="WebTime.aspx" id="form1">
12 <div>
13 <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value=
14 "/wEPDwUJODExMDE5NzY5ZGQ4n4mht8D7Eqxn73tM5LDnstPlCg==" />
15 </div>
Fig. | XHTML response when the browser requests
WebTime.aspx. (Part 1 of 2. )
Nonvisual form
components,
called hidden
inputs, store data
that the user
doesn’t need to
see.
be requested when
a form is
submitted.
16
17 <div>
18 <h2>Current time on the web server:</h2>
19 <p>
20 <span id="timeLabel" style="color:Yellow;
21 background-color:Black;font-size:XX-Large;">
22 03:11:49
Outline
WebTime.html
( 2 of 2 )
The form contains a
span element to
represent the text in
the label. Formatting
properties of
21
23 </span>
24 </p>
25 </div>
26 </form>
27 </body>
28 </html>
Fig. 22.6 | XHTML response when the browser requests
WebTime.aspx. (Part 2 of 2. )
timeLabel are
converted into the
style attribute of
the span element.
 When the form is processed on the server, the
runat attribute is removed.
Only those elements marked in the ASPX file Only those elements marked in the ASPX file
with runat="server" are modified or
replaced in the generated XHTML.
22
Step 1: Creating the Web Application Project
 Select File > New Web Site... and choose ASP.NET Web
Site in the Templates pane.
 Select File System from the drop-down list closest to
Location.Location.
 Set the Language drop-down list to Visual C#, and
click OK.
23
 An ASPX file (i.e., Web Form) named Default.aspx is created
for each new project.
 Visual Web Developer creates a code-behind file named
Default.aspx.cs.
 The View Designer button opens the Web Form in Design
mode.mode.
 The Copy Web Site button allows you to copy the project’s
files to another location, such as a remote web server.
 Finally, the ASP.NET Configuration button takes you
to the Web Site Administration Tool.
 Look at Toolbox displayed in the IDE when the project loads.
› Standard and Data list of web controls.
24
 When the project loads for the first time, the Web Forms
Designer displays the autogenerated ASPX file in Source
mode.
 Design mode indicates the XHTML element where the
cursor is currently located.cursor is currently located.
 You can also view both the markup and the web-page design
at the same time by using Split mode
 Right click the ASPX file in the Solution Explorer
and select View Code to open the code-behind file.
25
Renaming the ASPX File
 Right click the ASPX file in the Solution Explorer and select
Rename.
 Enter the new file name WebTime.aspx and press Enter. Both
the ASPX file and the code-behind file are updated.
Renaming the Class in the Code-Behind File and
Updating the ASPX File
 Visual Studio’s refactoring tool, which automatically updates
the existing references to this class in the rest of the project to
reflect this change.
 Right click the class name in the partial class’s declaration and
select Refactor > Rename… to open the Rename dialog.
Changing the Title of the Page
 We change the page’s title from the default Untitled Page to A Simple
Web Form Example.
 Open the ASPX file in Source mode and modify the text between the
<title> tags.
 Alternatively, you can modify the Web Form’s Title property in the
Properties window.
 To view the Web Form’s properties, select DOCUMENT from the drop-
down list in the Properties window.
Designing the Page
 To add controls to the page, you can drag and drop them from the
Toolbox onto the Web Form in Design mode.
 Like the Web Form itself, each control is an object that has properties,
methods and events.
 You can type text directly on a Web Form at the cursor location or insert
XHTML elements using menu commands.
27
 The positions of controls and other elements are relative to
the Web Form’s upper-left corner. This type of layout is
known as relative positioning.
 An alternate type of layout is known as absolute positioning,
in which controls are located exactly where they are dropped
on the Web Form.on the Web Form.
 You can enable absolute positioning in Design mode in the
HTML Designer > CSS Styling node of the Options dialog.
 Absolute positioning is discouraged, because pages
designed in this manner may not render correctly in
different browsers or on computers with different screen
resolutions and font sizes.
28
Running the Program
 You can view the Web Form several ways.
› You can select Debug > Start Without Debugging, which
runs the application by opening it in a browser window.
› To debug your application, you can select Debug > Start
Debugging. You cannot debug a web application unlessDebugging. You cannot debug a web application unless
debugging is explicitly enabled by the web.config file.
› To view a specific ASPX file, you can right click either the
Web Forms Designer or the ASPX file name and select
View In Browser.
› Finally, you can run your application by opening a browser
window and typing the web page’s URL in the Address
field.
29
 GUIs are event driven.
 When the user interacts with a GUI component,
the event drives the program to perform a task.
 A method that performs a task in response to an
event is called an event handler.event is called an event handler.
30
 Let’s create another ASP.NET page using Visual
Studio
1. Add a Button and a Label control
2. To create this click event handler, double click the
Button on the Form.Button on the Form.
3. The following empty event handler is declared:
4. Set the Text property of the Label control with the
current time in this function.
protected void Button1_Click(object sender,
EventArgs e)
{}
31
 To add an event handler, alternatively in markup
(aspx) file:
1. Add a onclick="BClick" property to the Button
control.control.
2. Add a function BClick to the page class in the code
behind.
<%-- Hello World page that also displays the current time. --%>
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="HelloWorld.aspx.cs" Inherits="HelloWorldPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
ASP.NET comments begin with <%-- and
terminate with --%>, and can span multiple lines.
The Page directive
specifies information
needed by ASP.NET
to process this file.
XHTML documents have the
root element html and markup
information about the document
<title>Hello World Web Form</title>
</head>
<body>
<form id="form1" runat="server">
<asp:Button ID="buttonClick" runat="server" Font-
Size="Medium" Width="102px“ Text="Click Me"
onclick="BClick" />
<br />
<asp:Label ID="labelHello" runat="server"></asp:Label>
</form>
</body> </html>
information about the document
in the head element.
The body contains the main content
that the browser displays.
The form that contains our XHTML text
and controls is set to execute on the server,
which generates equivalent XHTML.
Markup for label &
button web controls.
The asp: tag prefix indicates that the label is an
ASP.NET web control, not an XHTML element.
public partial class HelloWorldPage :
System.Web.UI.Page
{
protected void BClick(object sender, EventArgs e)
{
labelHello.Text = "Hello World! Time is " +
DateTime.Now;DateTime.Now;
}
}
 By convention, C# names the event-handler
method as objectName_eventName (e.g.,
Button1_Click).
 Each event handler receives two parameters
when it iswhen it is
called:
› An object reference named sender—a reference to
the object that generated the event.
› A reference to an object of type EventArgs, which
contains additional information about the event.
35
 Typically, controls can generate many different types of
events.
 Clicking the Events icon (the lightning-bolt icon) in the
Properties window, displays all the events for the selected
control.
36
 To learn about the events raised by a control, select Help >
Index.
 In the window, select Web Development (.NET) in the
Filtered by drop-down list and enter the name of the
control’s class in the Index window.
37
Button
List
Button code
...
List code
...List
Label
Browser ASP.NET
...
Label code
...
Event handlers
Common Language Specification
VB C++ C#
ASP.NET: Web Services
and Web Forms
JScript …
Windows
Forms
VisualStudio.NET
Common Language Runtime
and Web Forms Forms
Base Classes
ADO.NET: Data and XML
VisualStudio.NET
 Controls are objects, available in
server-side code
› Derived from System.Web.UI.Control› Derived from System.Web.UI.Control
 The web page is an object too
› Derived from System.Web.UI.Page
 User code executes on the web server in
page or control event handlers

More Related Content

What's hot

ASP.Net Presentation Part1
ASP.Net Presentation Part1ASP.Net Presentation Part1
ASP.Net Presentation Part1
Neeraj Mathur
 
( 12 ) Office 2007 Features Custom List
( 12 ) Office 2007   Features   Custom List( 12 ) Office 2007   Features   Custom List
( 12 ) Office 2007 Features Custom List
LiquidHub
 
Programming Server side with Sevlet
 Programming Server side with Sevlet  Programming Server side with Sevlet
Programming Server side with Sevlet
backdoor
 
AJAX
AJAXAJAX
AJAX
ARJUN
 
Asp.Net Page Life
Asp.Net Page LifeAsp.Net Page Life
Asp.Net Page Life
guest812990
 
Online Bank Hack
Online Bank HackOnline Bank Hack
Online Bank Hack
Caleb Sima
 
04 asp.net session05
04 asp.net session0504 asp.net session05
04 asp.net session05
Mani Chaubey
 

What's hot (20)

Django 1.10.3 Getting started
Django 1.10.3 Getting startedDjango 1.10.3 Getting started
Django 1.10.3 Getting started
 
ASP.Net Presentation Part1
ASP.Net Presentation Part1ASP.Net Presentation Part1
ASP.Net Presentation Part1
 
JSP Error handling
JSP Error handlingJSP Error handling
JSP Error handling
 
11 asp.net session16
11 asp.net session1611 asp.net session16
11 asp.net session16
 
Lecture2
Lecture2Lecture2
Lecture2
 
( 12 ) Office 2007 Features Custom List
( 12 ) Office 2007   Features   Custom List( 12 ) Office 2007   Features   Custom List
( 12 ) Office 2007 Features Custom List
 
Jsp element
Jsp elementJsp element
Jsp element
 
Programming Server side with Sevlet
 Programming Server side with Sevlet  Programming Server side with Sevlet
Programming Server side with Sevlet
 
AJAX
AJAXAJAX
AJAX
 
Asp.Net Page Life
Asp.Net Page LifeAsp.Net Page Life
Asp.Net Page Life
 
Newcastle University: Content migration made easy
Newcastle University: Content migration made easyNewcastle University: Content migration made easy
Newcastle University: Content migration made easy
 
ASP
ASPASP
ASP
 
ASP.NET Lecture 1
ASP.NET Lecture 1ASP.NET Lecture 1
ASP.NET Lecture 1
 
Tutorial 1
Tutorial 1Tutorial 1
Tutorial 1
 
Local SQLite Database with Node for beginners
Local SQLite Database with Node for beginnersLocal SQLite Database with Node for beginners
Local SQLite Database with Node for beginners
 
Alfresco tech talk live share extensibility metadata and actions for 4.1
Alfresco tech talk live share extensibility metadata and actions for 4.1Alfresco tech talk live share extensibility metadata and actions for 4.1
Alfresco tech talk live share extensibility metadata and actions for 4.1
 
Content migration Part 1: TERMINALFOUR t44u 2013
Content migration Part 1: TERMINALFOUR t44u 2013Content migration Part 1: TERMINALFOUR t44u 2013
Content migration Part 1: TERMINALFOUR t44u 2013
 
Online Bank Hack
Online Bank HackOnline Bank Hack
Online Bank Hack
 
File upload in oracle adf mobile
File upload in oracle adf mobileFile upload in oracle adf mobile
File upload in oracle adf mobile
 
04 asp.net session05
04 asp.net session0504 asp.net session05
04 asp.net session05
 

Similar to Asp.net By Durgesh Singh

Programming web application
Programming web applicationProgramming web application
Programming web application
aspnet123
 
How to develop asp web applications
How to develop asp web applicationsHow to develop asp web applications
How to develop asp web applications
Deepankar Pathak
 
Aspnet architecture
Aspnet architectureAspnet architecture
Aspnet architecture
phantrithuc
 

Similar to Asp.net By Durgesh Singh (20)

Asp
AspAsp
Asp
 
Creating web form
Creating web formCreating web form
Creating web form
 
Programming web application
Programming web applicationProgramming web application
Programming web application
 
.Net course-in-mumbai-ppt
.Net course-in-mumbai-ppt.Net course-in-mumbai-ppt
.Net course-in-mumbai-ppt
 
Asp.net control
Asp.net controlAsp.net control
Asp.net control
 
How to develop asp web applications
How to develop asp web applicationsHow to develop asp web applications
How to develop asp web applications
 
NET_Training.pptx
NET_Training.pptxNET_Training.pptx
NET_Training.pptx
 
Developing an ASP.NET Web Application
Developing an ASP.NET Web ApplicationDeveloping an ASP.NET Web Application
Developing an ASP.NET Web Application
 
Asp.net tips
Asp.net tipsAsp.net tips
Asp.net tips
 
Web forms in ASP.net
Web forms in ASP.netWeb forms in ASP.net
Web forms in ASP.net
 
Parallelminds.asp.net with sp
Parallelminds.asp.net with spParallelminds.asp.net with sp
Parallelminds.asp.net with sp
 
Advanced SharePoint Web Part Development
Advanced SharePoint Web Part DevelopmentAdvanced SharePoint Web Part Development
Advanced SharePoint Web Part Development
 
2310 b 15
2310 b 152310 b 15
2310 b 15
 
2310 b 15
2310 b 152310 b 15
2310 b 15
 
Asp.net
Asp.netAsp.net
Asp.net
 
2310 b 05
2310 b 052310 b 05
2310 b 05
 
Active server pages
Active server pagesActive server pages
Active server pages
 
Java Web Programming [8/9] : JSF and AJAX
Java Web Programming [8/9] : JSF and AJAXJava Web Programming [8/9] : JSF and AJAX
Java Web Programming [8/9] : JSF and AJAX
 
Aspnet architecture
Aspnet architectureAspnet architecture
Aspnet architecture
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 

More from imdurgesh

More from imdurgesh (20)

Azure quick-start-for-net-developers
Azure quick-start-for-net-developersAzure quick-start-for-net-developers
Azure quick-start-for-net-developers
 
Sales Negotiating-for-entrepreneurs
Sales Negotiating-for-entrepreneursSales Negotiating-for-entrepreneurs
Sales Negotiating-for-entrepreneurs
 
Automated testing-whitepaper
Automated testing-whitepaperAutomated testing-whitepaper
Automated testing-whitepaper
 
Visual studio-2019-succinctly
Visual studio-2019-succinctlyVisual studio-2019-succinctly
Visual studio-2019-succinctly
 
C# and .net framework
C# and .net frameworkC# and .net framework
C# and .net framework
 
30 days-of-react-ebook-fullstackio
30 days-of-react-ebook-fullstackio30 days-of-react-ebook-fullstackio
30 days-of-react-ebook-fullstackio
 
Linq pad succinctly
Linq pad succinctlyLinq pad succinctly
Linq pad succinctly
 
ViA Bootstrap 4
ViA Bootstrap 4ViA Bootstrap 4
ViA Bootstrap 4
 
The road-to-learn-react
The road-to-learn-reactThe road-to-learn-react
The road-to-learn-react
 
Public speaking for_geeks_succinctly
Public speaking for_geeks_succinctlyPublic speaking for_geeks_succinctly
Public speaking for_geeks_succinctly
 
Google maps api_succinctly
Google maps api_succinctlyGoogle maps api_succinctly
Google maps api_succinctly
 
W3 css succinctly
W3 css succinctlyW3 css succinctly
W3 css succinctly
 
Aspnet core-2-succinctly
Aspnet core-2-succinctlyAspnet core-2-succinctly
Aspnet core-2-succinctly
 
Cryptography in net_succinctly
Cryptography in net_succinctlyCryptography in net_succinctly
Cryptography in net_succinctly
 
Azure functions-succinctly
Azure functions-succinctlyAzure functions-succinctly
Azure functions-succinctly
 
Nodejs succinctly
Nodejs succinctlyNodejs succinctly
Nodejs succinctly
 
Angular succinctly
Angular succinctlyAngular succinctly
Angular succinctly
 
Reactjs succinctly
Reactjs succinctlyReactjs succinctly
Reactjs succinctly
 
C sharp code_contracts_succinctly
C sharp code_contracts_succinctlyC sharp code_contracts_succinctly
C sharp code_contracts_succinctly
 
Asp.net tutorial
Asp.net tutorialAsp.net tutorial
Asp.net tutorial
 

Recently uploaded

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Recently uploaded (20)

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 

Asp.net By Durgesh Singh

  • 1.
  • 2.  Objective  Introduction to web programming using the Microsoft® ASP.NET technology and Microsoft® IIS (Internet Information Server).  Prerequisite  The programming language will be C#, the participants are expected to have taken the IT519 or IT528 courseare expected to have taken the IT519 or IT528 course  Lectures  Saturday 13:00 – 16:00 at Main Campus FENS G032  Grading  Midterm (30%): 4th week of the course, Saturday  Final Exam (40% ): Last (7th) week of the course, Saturday  Homework (30% total): 2 homework will be assigned and they are of equal weight
  • 3. Client Request: http://www.msn.com/default.html PC/Mac/Unix + Browser (IE, FireFox) Web ServerServer Response: <html>…</html> Network HTTP TCP/IP
  • 4.  HTTP / HTTPS (URL, GET/POST)  Client-side: › HTML / XHTML (Extensible HyperText Markup Language) › JavaScript / VBScript (client-side scripting) › Applets / ActiveX controls Server-side: Server-side: › PHP › Phython › JSP (Java Server Pages) › ASP (Active Server Pages) › ASP.NET (next generation of ASP)
  • 5. Client Request: http://www.msn.com/default.aspx PC/Mac/Unix + Browser (IE, FireFox) IIS (Internet Information Server) Server Response: <html>…</html> Network HTTP TCP/IP
  • 6.  What is server-side code? › Software that runs on the server, not the client › Receives input from  URL parameters  HTML form data HTTP request (form data, HTTP header data) HTTP response HTML, XML  HTML form data › Can access server-side databases, e-mail servers, files, mainframes, etc. › Dynamically builds a custom HTML response for a client ASP page (static HTML, server-side logic)
  • 7.  ASP.NET provides services to allow the creation, deployment, and execution of Web Applications and Web Services  Web Applications are built using Web Forms  Web Forms are designed to make building web-based applications as easy as building Visual Basic applicationsapplications  Built on .NET Framework: any .NET programming language can be used (C#, Visual Basic)  Complete object model  Separation of code and UI  Maintains page state  Session management  Caching, Debugging, Extensibility
  • 8.  Let’s create our first ASP.NET page using Visual Studio 1. Modify title of the page 2. Add a heading <h2>2. Add a heading <h2> 3. Look at the page in Design and Split modes 4. Add a Label control from the Toolbox 5. Change ID of the Label control 6. Change some physical properties of the Label control 7. Go to WebTime.aspx.cs file and add Page_Init function to set Text property of the Label control
  • 9. 1 <%-- WebTime.aspx --%> 2 <%-- A page that displays the current time in a Label. --%> 3 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="WebTime.aspx.cs" 4 Inherits="WebTime" EnableSessionState="False" %> 5 6 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 7 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 8 9 <html xmlns="http://www.w3.org/1999/xhtml"> WebTime.aspx ( 1 of 2 ) Visual Studio generates the markup shown when you create the GUI. ASP.NET comments begin with <%-- and terminate with --%>, and can span multiple lines. The Page directive specifies information needed by ASP.NET to process this file. 9 9 <html xmlns="http://www.w3.org/1999/xhtml"> 10 <head runat="server"> 11 <title>A Simple Web Form Example</title> 12 </head> 13 <body> 14 <form id="form1" runat="server"> 15 <div> 16 <h2>Current time on the web server:</h2> ASPX file that displays the web server’s time. The document type declaration, which specifies the document element name and the PUBLIC URI for the DTD that defines the XHTML vocabulary. XHTML documents have the root element html and markup information about the document in the head element. The body contains the main content that the browser displays. The form that contains our XHTML text and controls is set to execute on the server, which generates equivalent XHTML.
  • 10. 17 <p> 18 <asp:Label ID="timeLabel" runat="server" BackColor="Black" 19 Font-Size="XX-Large" ForeColor="Yellow" 20 EnableViewState="False"></asp:Label> 21 </p> 22 </div> WebTime.aspx ( 2 of 2 ) Markup for a label web control. The asp: tag prefix 22 </div> 23 </form> 24 </body> 25 </html> ASPX file that displays the web server’s time. (Part 2 of 2. ) indicates that the label is an ASP.NET web control, not an XHTML element. • In an ASPX file a directive is delimited by <%@ and %>.
  • 11. Examining an ASPX File  The Page directive’s Language attribute specifies the code-behind file’s language.  The CodeFile attribute specifies the code-behind filename.  When AutoEventWireup is true, ASP.NET automatically treats a method of name Page_eventName as an event When AutoEventWireup is true, ASP.NET automatically treats a method of name Page_eventName as an event handler.  When AutoEvent-Wireup is set to false, you specify event handlers using attributes in the Page directive just as you would any other web control.  The Inherits attribute (line 4) specifies the class in the code- behind file from which this ASP.NET class inherits.
  • 12.  The document type declaration, which specifies the document element name and the PUBLIC URI for the DTD that defines the XHTML vocabulary.  XHTML documents have the root element html and markup information about the document in the head element. Setting the runat attribute to "server" indicates that ASP.NET Setting the runat attribute to "server" indicates that ASP.NET processes the element and its nested elements and generates the corresponding XHTML.  The body contains the main content that the browser displays.  The form that contains our XHTML text and controls is set to execute on the server, which generates equivalent XHTML.
  • 13.  The ID attribute assigns a name to a control, used as an identifier in the code-behind file.  The asp: tag prefix indicates that the label is an ASP.NET web control, not an XHTML element. Each web control maps to a corresponding Each web control maps to a corresponding XHTML element or group of elements.
  • 14.  The asp:Label control is written as an XHTML span element.  A span element contains text with formatting styles.  This control is processed on the server so that the server can translate the control into XHTML.server can translate the control into XHTML.  If this is not supported, the asp:Label element is written as text to the client.
  • 15. 1 // WebTime.aspx.cs 2 // Code-behind file for a page that displays the current time. 3 using System; 4 5 public partial class WebTime : System.Web.UI.Page 6 { 7 // initializes the contents of the page 8 protected void Page_Init( object sender, EventArgs e ) The code-behind file (WebTime.aspx.cs) The Page_Init method handles the page’s Init event, which indicates that8 protected void Page_Init( object sender, EventArgs e ) 9 { 10 // display the server's current time in timeLabel 11 timeLabel.Text = DateTime.Now.ToString( "hh:mm:ss" ); 12 } // end method Page_Init 13 } // end class WebTime Code-behind file for a page that displays the web server’s time. (Part 1 of 2.) which indicates that the page is ready to be initialized. Retrieve the current time and formats it as hh:mm:ss.
  • 16. WebTime.aspx Example Run • The Page_Init method handles the page’s Init event, which indicates that the page is ready to be initialized.
  • 17.  The code-behind file inherits from Page, which defines the general functionality of a web page.  The code-behind file contains a partial class.  ASP.NET generates another partial class that defines the remainder of that class, based on the markup in the ASPXremainder of that class, based on the markup in the ASPX file.  The first time the web page is requested, this class is compiled, and an instance is created.  This instance represents our page—it creates the XHTML that is sent to the client.  Once an instance of the web page has been created, multiple clients can use it to access the page—no recompilation is necessary. 17
  • 18.  When an instance of the page is created, the PreInit event occurs first, invoking method Page_PreInit, which can be used to set a page’s theme. The Init event occurs next, invoking method Page_Init, which is used to initialize objects and other aspects of the page.  Next, the Load event occurs, and the Page_Load event Next, the Load event occurs, and the Page_Load event handler executes.  The Init event is raised only once (when the page is first requested).  The Load event is raised with every request.  The page then processes any events that are generated by the page’s controls.  Once a response has been generated and sent, an Unload event occurs, which calls Page_Unload, which typically releases resources used by the page. 18
  • 19.  To view this XHTML, select View Source from the Page menu ) in Internet Explorer (or View > Page Source if you are using Firefox).  Nonvisual form components, called hidden inputs, store data that the user doesn’t need toinputs, store data that the user doesn’t need to see.  Attribute method of the form element specifies the request method (usually get or post). The action attribute identifies the resource that will be requested when a form is submitted. 19
  • 20. 1 <!-- WebTime.html --> 2 <!-- The XHTML generated when WebTime.aspx is loaded. --> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 4 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 5 6 <html xmlns="http://www.w3.org/1999/xhtml"> 7 <head> 8 <title>A Simple Web Form Example</title> 9 </head> 10 <body> WebTime.html ( 1 of 2 ) • Figure shows the XHTML generated by ASP.NET when a web browser requests WebTime.aspx. Attribute method of the form element specifies the request method (usually get or post). The action attribute identifies the resource that will be requested when 20 10 <body> 11 <form method="post" action="WebTime.aspx" id="form1"> 12 <div> 13 <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value= 14 "/wEPDwUJODExMDE5NzY5ZGQ4n4mht8D7Eqxn73tM5LDnstPlCg==" /> 15 </div> Fig. | XHTML response when the browser requests WebTime.aspx. (Part 1 of 2. ) Nonvisual form components, called hidden inputs, store data that the user doesn’t need to see. be requested when a form is submitted.
  • 21. 16 17 <div> 18 <h2>Current time on the web server:</h2> 19 <p> 20 <span id="timeLabel" style="color:Yellow; 21 background-color:Black;font-size:XX-Large;"> 22 03:11:49 Outline WebTime.html ( 2 of 2 ) The form contains a span element to represent the text in the label. Formatting properties of 21 23 </span> 24 </p> 25 </div> 26 </form> 27 </body> 28 </html> Fig. 22.6 | XHTML response when the browser requests WebTime.aspx. (Part 2 of 2. ) timeLabel are converted into the style attribute of the span element.
  • 22.  When the form is processed on the server, the runat attribute is removed. Only those elements marked in the ASPX file Only those elements marked in the ASPX file with runat="server" are modified or replaced in the generated XHTML. 22
  • 23. Step 1: Creating the Web Application Project  Select File > New Web Site... and choose ASP.NET Web Site in the Templates pane.  Select File System from the drop-down list closest to Location.Location.  Set the Language drop-down list to Visual C#, and click OK. 23
  • 24.  An ASPX file (i.e., Web Form) named Default.aspx is created for each new project.  Visual Web Developer creates a code-behind file named Default.aspx.cs.  The View Designer button opens the Web Form in Design mode.mode.  The Copy Web Site button allows you to copy the project’s files to another location, such as a remote web server.  Finally, the ASP.NET Configuration button takes you to the Web Site Administration Tool.  Look at Toolbox displayed in the IDE when the project loads. › Standard and Data list of web controls. 24
  • 25.  When the project loads for the first time, the Web Forms Designer displays the autogenerated ASPX file in Source mode.  Design mode indicates the XHTML element where the cursor is currently located.cursor is currently located.  You can also view both the markup and the web-page design at the same time by using Split mode  Right click the ASPX file in the Solution Explorer and select View Code to open the code-behind file. 25
  • 26. Renaming the ASPX File  Right click the ASPX file in the Solution Explorer and select Rename.  Enter the new file name WebTime.aspx and press Enter. Both the ASPX file and the code-behind file are updated. Renaming the Class in the Code-Behind File and Updating the ASPX File  Visual Studio’s refactoring tool, which automatically updates the existing references to this class in the rest of the project to reflect this change.  Right click the class name in the partial class’s declaration and select Refactor > Rename… to open the Rename dialog.
  • 27. Changing the Title of the Page  We change the page’s title from the default Untitled Page to A Simple Web Form Example.  Open the ASPX file in Source mode and modify the text between the <title> tags.  Alternatively, you can modify the Web Form’s Title property in the Properties window.  To view the Web Form’s properties, select DOCUMENT from the drop- down list in the Properties window. Designing the Page  To add controls to the page, you can drag and drop them from the Toolbox onto the Web Form in Design mode.  Like the Web Form itself, each control is an object that has properties, methods and events.  You can type text directly on a Web Form at the cursor location or insert XHTML elements using menu commands. 27
  • 28.  The positions of controls and other elements are relative to the Web Form’s upper-left corner. This type of layout is known as relative positioning.  An alternate type of layout is known as absolute positioning, in which controls are located exactly where they are dropped on the Web Form.on the Web Form.  You can enable absolute positioning in Design mode in the HTML Designer > CSS Styling node of the Options dialog.  Absolute positioning is discouraged, because pages designed in this manner may not render correctly in different browsers or on computers with different screen resolutions and font sizes. 28
  • 29. Running the Program  You can view the Web Form several ways. › You can select Debug > Start Without Debugging, which runs the application by opening it in a browser window. › To debug your application, you can select Debug > Start Debugging. You cannot debug a web application unlessDebugging. You cannot debug a web application unless debugging is explicitly enabled by the web.config file. › To view a specific ASPX file, you can right click either the Web Forms Designer or the ASPX file name and select View In Browser. › Finally, you can run your application by opening a browser window and typing the web page’s URL in the Address field. 29
  • 30.  GUIs are event driven.  When the user interacts with a GUI component, the event drives the program to perform a task.  A method that performs a task in response to an event is called an event handler.event is called an event handler. 30
  • 31.  Let’s create another ASP.NET page using Visual Studio 1. Add a Button and a Label control 2. To create this click event handler, double click the Button on the Form.Button on the Form. 3. The following empty event handler is declared: 4. Set the Text property of the Label control with the current time in this function. protected void Button1_Click(object sender, EventArgs e) {} 31
  • 32.  To add an event handler, alternatively in markup (aspx) file: 1. Add a onclick="BClick" property to the Button control.control. 2. Add a function BClick to the page class in the code behind.
  • 33. <%-- Hello World page that also displays the current time. --%> <%@ Page Language="C#" AutoEventWireup="true" CodeFile="HelloWorld.aspx.cs" Inherits="HelloWorldPage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> ASP.NET comments begin with <%-- and terminate with --%>, and can span multiple lines. The Page directive specifies information needed by ASP.NET to process this file. XHTML documents have the root element html and markup information about the document <title>Hello World Web Form</title> </head> <body> <form id="form1" runat="server"> <asp:Button ID="buttonClick" runat="server" Font- Size="Medium" Width="102px“ Text="Click Me" onclick="BClick" /> <br /> <asp:Label ID="labelHello" runat="server"></asp:Label> </form> </body> </html> information about the document in the head element. The body contains the main content that the browser displays. The form that contains our XHTML text and controls is set to execute on the server, which generates equivalent XHTML. Markup for label & button web controls. The asp: tag prefix indicates that the label is an ASP.NET web control, not an XHTML element.
  • 34. public partial class HelloWorldPage : System.Web.UI.Page { protected void BClick(object sender, EventArgs e) { labelHello.Text = "Hello World! Time is " + DateTime.Now;DateTime.Now; } }
  • 35.  By convention, C# names the event-handler method as objectName_eventName (e.g., Button1_Click).  Each event handler receives two parameters when it iswhen it is called: › An object reference named sender—a reference to the object that generated the event. › A reference to an object of type EventArgs, which contains additional information about the event. 35
  • 36.  Typically, controls can generate many different types of events.  Clicking the Events icon (the lightning-bolt icon) in the Properties window, displays all the events for the selected control. 36
  • 37.  To learn about the events raised by a control, select Help > Index.  In the window, select Web Development (.NET) in the Filtered by drop-down list and enter the name of the control’s class in the Index window. 37
  • 38. Button List Button code ... List code ...List Label Browser ASP.NET ... Label code ... Event handlers
  • 39. Common Language Specification VB C++ C# ASP.NET: Web Services and Web Forms JScript … Windows Forms VisualStudio.NET Common Language Runtime and Web Forms Forms Base Classes ADO.NET: Data and XML VisualStudio.NET
  • 40.  Controls are objects, available in server-side code › Derived from System.Web.UI.Control› Derived from System.Web.UI.Control  The web page is an object too › Derived from System.Web.UI.Page  User code executes on the web server in page or control event handlers