Introduction to ASP.NET

yelpframeΑσφάλεια

4 Νοε 2013 (πριν από 3 χρόνια και 9 μήνες)

168 εμφανίσεις

Introduction to ASP.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 abstr
act,
trimmed version before execution. All .NET languages are compile
d 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 t
o
manage simple pages of code so that they can be complied into fu
ll .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
Common Language
Runtime Type System
Runtime Type System
Compilers use the runtime type system to produce
Compilers use the runtime type system to produce
type
type
compatible
compatible
components
components
Components
Components
Compilers
Compilers
Common Type System
C#
C#
VB
VB
C++
C++
Runtime Environment
Runtime Environment
Robust And Secure
Robust And Secure

Native code compilation

MSIL

No interpreter

Install
-
time or run
-
time IL to
native compilation

Code correctness and type
-
safety

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
.NET Execution Model
VB
VB
VC
VC
...
...
Script
Script
IL
IL
Native
Native
Code
Code
Native
Native
Code
Code
Common Language Runtime
Common Language Runtime
Standard JIT
Standard JIT
Compiler
Compiler
Common Language Runtime

Lightweight Just
-
in
-
time compiler:

MSIL to Native machine language; Can be ported to numerous platf
orms

The compiled code is transformed into an intermediate language
called the Microsoft Intermediate Language (MSIL or IL)

An integer in Visual Basic .NET or an
int
in C# are converted to
the same .NET data type, which is Int32

The IL that is created is the same for all languages

The
assembly
is the compiled .NET program

The assembly contains the IL along with additional information
called
metadata

Metadata contains information about the assembly

Use the IL
Disassembler
(
ildasm.exe
) to view the IL within an
assembly
Framework Overview
Framework Overview
Base Class Library
Common Language Specification
Common Language Runtime
Data and XML
VB
C++
C#
Visual Studio.NET
Web Forms
(ASP.NET)
JScript

Win Forms
.NET Framework Architecture
Common Language Runtime
Metadata
Type System
Execution
System Base Framework
IO
Net
Security
ServiceProcess
ADO.NET
XML
SQL
Threading
System.Web
Web Services
Web Forms
ASP.NET Application Services
System.WinForms
Controls
Drawing
Windows Application Services
Namespace

The base class libraries are organized into logical
groupings of code called namespaces

A namespace is a hierarchical way to identify
resources in .NET

The System object is at the top of the namespace
hierarchy, and all objects inherit from it

ASP.NET: System.Web namespace

WebForms
: System.Web.UI namespace

HTML Server Controls:
System.Web.UI.Control.HTMLControl

ASP.NET Server Controls:
System.Web.UI.Control.WebControl
Importing Namespaces

Visual Studio .NET adds references to your projects

commonly used namespaces by default

You can import the namespaces into your page using
the @Import directive

The following is the syntax for importing a .NET
namespace
<%@ Import
NamespaceName
%>

Below is a sample of how you would import the
ASP.NET Page class
<%@ Imports System.Web.UI.Page %>
Some ASP.NET namespaces
Classes and definitions to create
server controls
System.Web.UI.web
controls
Creates the Page object whenever
an .
aspx
page is requested
System.Web.UI
Support browser/server
communication
System.Web
File reading & writing operations
System.IO
Definitions and classes for creating
various collections
System.Collections
Defines fundamental data types eg
system.string
System
ASP.NET

class browser

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 (over 9000 classes; lists the
namespaces):
http://interdev.csse.monash.edu.au/quickstart/aspp
lus/samples/classbrowser/vb/classbrowser.aspx
ASP.NET

The latest version of ASP is known as ASP.NET

Visual Studio .NET is a developer application used
to create ASP.NET Web applications

There are two main types of Web resources created
with ASP.NET applications

WebForms
are ASP.NET pages within an ASP.NET
application

Web Services
are ASP.NET Web pages that contain
publicly exposed code so that other applications can
interact with them

Web Services are identified with the file extension .
asmx
WebForms

The ASP.NET
WebForm
is separated into two
logical areas:

The HTML template

A collection of code behind the
WebForm

The
HTML template

Contains the design layout, content, and the controls

Creates the user interface, or
presentation layer

Instructs the browser how to format the Web page

Is created using a combination of HTML controls,
HTML Server controls, Mobile Controls, and
ASP.NET controls
Server Controls

HTML Server controls are similar to the HTML
controls, except they are processed by the server

Add
runat
= "server" to the HTML control to
transform it into an HTML Server control

HTML control:
<input type="text">

HTML Server control:
<input type="text"
runat
="server"/>
<input type=

radio

runat
=

server

value=

Yes

/> Yes

Server
-
side programs can interact with the control
before it is rendered as a plain HTML control and
sent to the browser
ASP.NET Controls

ASP.NET form controls will create the HTML code

ASP.NET Server controls are organized as:

ASP.NET Form Controls

Data Validation Controls

User Controls

Mobile Controls

ASP.NET controls are usually identified with the
prefix asp: followed by the name of the control

ASP.NET button:
<asp:Button id="
ShowBtn
"
runat
="server"
Text="Show the message." />
HTML Server Vs
ASP.NET Server, Controls

ASP.NET form controls can interact with client
-
side events such as when the user clicks on a
button

When the event occurs, ASP.NET can trigger a script to
run on the server

ASP.NET form controls also have different
properties than their HTML server control
counterparts

HTML Server label control

Message1.InnerHTML = "Product 1"

ASP server label control

Message2.Text = "Product 2"
User Controls

User controls are external files that can be
included within another
WebForm

User controls allow you to reuse code across
multiple files

For example, you can create a user control that
displays the a navigation bar

You can use this control on the home page; they
are often used for creating self
-
contained code,
headers, menus, and footers

User controls replace the functionality of ASP
server
-
side include pages

They are identified with the file extension .
asmx
Other ASP.NET Server Controls

Data validation controls

A series of controls that validate form data without extensive
JavaScript programming

Mobile controls

A series of controls that provide form functionality within
wireless and mobile devices

Literal controls

Page content that is not assigned to a specific HTML control
such as a combination of HTML tags and text to the browser
Server Controls within
Visual Studio .NET

In Visual Studio
.NET most of the
ASP.NET Server
controls are located
on the Web Forms
tab in the toolbox
Server controls with Visual Studio.NET
The Code Behind

Server programs are written in a separate file
known as the
code behind the page

By separating the programming logic and
presentation layer, the application becomes
easier to maintain

Only Server controls can interact with the code
behind the page

Written in any ASP.NET compatible language such
as Visual Basic .NET, C#, Perl, or Java

Filename is the same as the
WebForm
filename

Add a file extension that identifies the language

Visual Basic .NET use .
vb
(
mypage.aspx.vb
)

C# use .
cs
(
mypage.aspx.cs
)
Code Behind file

The location of the code behind the page is determined
via a property that is set on the first line in the page
using the @Page directive
<%@ Page Language="
vb
"
Codebehind
="WebForm1.vb"
Inherits=

MyFirstApp.WebForm1"%>

The
@Page
directive allows you to set the default
properties for the entire page such as the default
language

The
CodeBehind
property identifies the path and
filename of the code behind file

The Inherits property i
ndicates that the code behind the
page inherits the page class

This page class contains the compiled code for this
page
Compiling the Page Class

The compiled code behind the page is the class
definition for the page

A
class
is a named logical grouping of code

The
class definition
contains the functions, methods, and
properties that belong to that class

In Visual Studio .NET the process of compiling a
class is called
building

When you build the application, you compile the code
into an executable file

Visual Studio .NET compiles the code behind the page
into an executable file and places the file in the bin
directory