Introduction to ASP.NET

advertisement
Introduction to ASP.NET
• What is .NET
• What is ASP.NET and how is different from
ASP
– ASP: server side technology for creating dynamic web
pages using scripting languages eg vb script.
– ASP.NET: server side technology for creating dynamic
web pages using Fully Fledged programming languages
supported by .NET
– VB.NET: our chosen language for writing ASP.NET
pages
What is .NET?
•
•
A Microsoft strategy and new technology for delivering software
services to the desktop and to the web
Components include:
– MS Intermediate Language; all code is complied into a more abstract,
–
–
–
–
•
•
•
trimmed version before execution. All .NET languages are compiled to
MSIL – the common language of .NET
The CLR- common language runtime; responsible for executing MSIL
code; interfaces to Windows and IIS
A rich set of libraries (Framework Class Libraries) available to all .NET
languages
The .NET languages such as C#, VB.NET etc that conform to CLR
ASP.NET is how the Framework is exposed to the web, using IIS to
manage simple pages of code so that they can be complied into full .NET
programs. These generate HTML for the browser.
Built on open protocols (XML, SOAP)
Future for development of MS & non-MS based systems.
Also heading towards the “Internet Operating System”
Common Language
Runtime Type System
Compilers use the runtime type system to produce type
compatible components
Components
C#
VB
C++
Common Type System
Compilers
Runtime Environment
Robust And Secure
•
Native code compilation



•
Code correctness and type-safety


•
MSIL
No interpreter
Install-time or run-time IL to native compilation
IL can be verified to guarantee type-safety
No unsafe casts, no uninitialized variables, no out-of-bounds array
indexing
Evidence-based security

Policy grants permissions based on evidence (signatures, origin)
.NET Execution Model
VB
Native
Code
VC
...
Script
IL
Common Language Runtime
Standard JIT
Compiler
Native
Code
Common Language Runtime
• Lightweight Just-in-time compiler:
–
–
–
–
MSIL to Native machine language
Can be ported to numerous platforms
Free/Net BSD UNIX port has been announced
“MONO” Open source movement
Framework Overview
VB
C++
C#
JScript
…
Common Language Specification
Win Forms
Data and XML
Base Class Library
Common Language Runtime
Visual Studio.NET
Web Forms
(ASP.NET)
.NET Framework Architecture
System.WinForms
System.Web
Web Services
Web Forms
ASP.NET Application Services
Controls
Drawing
Windows Application Services
System Base Framework
ADO.NET
XML
SQL
Threading
IO
Net
Security
ServiceProcess
Common Language Runtime
Type System
Metadata
Execution
ASP.NET
• ASP.NET provides a means of exposing the .NET
Framework and its functionality to the WWW
• Contains a number of pre-built types that take
input from .NET types and represents them in a
form for the web (such as HTML)
• Class browser:
http://interdev.csse.monash.edu.au/quickstart/asppl
us/samples/classbrowser/vb/classbrowser.aspx
Web Services
• Web Services also provide a means to
expose .NET functionality on the web but
Web Services expose functionality via XML
and SOAP (cf: function calls over the web)
How ASP.NET works
• When .NET is installed, IIS is configured to
look for files with the .aspx extension and to
use the ASP.NET module (aspnet_isapi.dll)
to handle them.
• ASP.NET parses the .aspx file and arranges
it in a predefined class definition and
generates an asp.net page object.
• The page object generates html that is sent
back to IIS and then the browser.
• NOTE: only .aspx files are parsed (if it is
pure html don’t save it as an aspx file as it
will slow down the server.
ASP.NET samples
• Page directives: <%@ page language = “VB”
debug="true" trace="true“ %>
• <script language = “VB” runat=“server”> VB.NET
code declarations ……….. </script>
• Message.aspx
<html>
<head> <title>Inserting ASP.NET code Example</title> </head>
<body>
Line1: First HTML Line<br />
Line2: Second HTML Line<br />
Line3: Third HTML Line<br />
</body>
</html>
• Note this has no asp code so better to use .html extension
• Message2.aspx
<script language="VB" runat="server">
Sub Page_Load()
Response.Write ("First ASP.NET Line<br />")
Response.Write ("Second ASP.NET Line<br />")
Response.Write ("Third ASP.NET Line<br />")
End Sub
</script>
<html> <head> <title>Inserting ASP.NET code Example</TITLE> </head>
<body>
Line1: First HTML Line<br />
Line2: Second HTML Line<br />
Line3: Third HTML Line<br />
</body>
</html>
• Message3.aspx
html>
<head><title>Inserting ASP.NET code Example</title></head>
<body>
Line1: First HTML Line<br />
Line2: Second HTML Line<br />
Line3: Third HTML Line<br />
<script language="VB" runat="server">
Sub Page_Load()
Response.Write ("First ASP.NET Line<br />")
Response.Write ("Second ASP.NET Line<br />")
Response.Write ("Third ASP.NET Line<br />")
End Sub
</script>
</body>
</html>
Render or inline code block –
interweave1.aspx
<html>
<head>
<title>Interweaving ASP.NET code and HTML Example</title>
</head>
<body>
Line1: First HTML Line<br />
<% Response.Write ("First ASP.NET Line<br />") %>
Line2: Second HTML Line<br />
<% Response.Write ("Second ASP.NET Line<br />") %>
Line3: Third HTML Line<br />
<% Response.Write ("Third ASP.NET Line<br />") %>
</body>
</html>
NOT RECOMMENDED.
Interweave2.aspx A Server control
script language="VB" runat="server">
Sub Page_Load()
Message.Text="The ASP.NET line"
End Sub
</script>
<html>
<head> <title>Inserting ASP.NET code Example</TITLE> </head>
<body>
First HTML Line<br/>
<asp:label id=Message runat="server"/> <br />
Second HTML Line<br/>
</body>
</html>
Page class events
• Page_init
• Page_load
•
Server_Controls
•
Page_prerender
•
Page_Unload
ASP.NET Vs PHP
Feature
PHP
ASP.NET
HTML
Yes
Yes
CSS
Yes
Yes
‘php Templates’
Yes
UserControls
ServerControls
(buttons,grids etc)
No
Yes
Javascript
Yes
Yes + Validation controls
Database Conn
Yes
Yes
Cookies & Sessions
Yes
Yes
VIEWSTATE
No
Yes
POSTBACK
No
Yes
Examples
• quickstart – webforms
–
–
–
–
–
–
–
Intro4 shows VIEWSTATE
Intro6 shows a click event
Intro7 shows a usercontrol with a calander
Intro8 shows a db connection
Intro9 & 10 show asp.net templates
Intro11shows validation controls
Intro13 shows code behind pages
• Server directives eg trace and debug
– trace
The lab environment.
• IIS server –
interdev.csse.monash.edu.au/cse2030….
• Each student has write access to their own
directory on interdev (Sstudentnum)
• URL:
http:\\interdev.csse.monash.edu.au/cse2030/Sstude
ntnum/message.aspx
• Alternative to .Net is webmatrix
• Interdev is not accessible outside Monash
network.
Download