Beginners Introduction To ASP

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

6/16/2017 Beginners Introduction to ASP.

NET - CodeProject

Beginners Introduction to ASP.NET


codeproject.com /Articles/4468/Beginners-Introduction-to-ASP-NET

Article sudhirmangla, 19 Oct 2004 Go


to
Browse top
4.61 (98 votes)
Code
Stats
Revisions
Alternatives
Comments An article giving basic introduction to ASP.NET ,Underlying technologies and Advantages of
(43) ASP.NET over asp
Add your
own Introduction
alternative
version I have seen many tutorials on ASP.NET but most of them starts with coding and writing your first
ASP.NET Program. But here I has written this tutorial for explaining why there is a need for
Stats ASP.NET when classy ASP is working fine and what are the underlying technology behind
ASP.NET, What programming model ASP.NET Provides to programmers. Now let us get started.
1.3M views
ASP.NET is the new offering for Web developers from the Microsoft .It is not simply the next-
203 generation of ASP; in fact, it is a completely re-engineered and enhanced technology that offers
bookmarked much, much more than traditional ASP and can increase productivity significantly.

Posted 1 Jul Because it has evolved from ASP, ASP.NET looks very similar to its predecessorbut only at first
2003 sight. Some items look very familiar, and they remind us of ASP. But concepts like Web Forms,
Web Services, or Server Controls gives ASP.NET the power to build real Web applications.

Looking Back : Active Server Pages (ASP)


Microsoft Active Server Pages (ASP) is a server-side scripting technology. ASP is a technology
that Microsoft created to ease the development of interactive Web applications. With ASP you
can use client-side scripts as well as server-side scripts. Maybe you want to validate user input
or access a database. ASP provides solutions for transaction processing and managing session
state. Asp is one of the most successful language used in web development.

Problems with Traditional ASP


There are many problems with ASP if you think of needs for Today's powerful Web applications.

1. Interpreted and Loosely-Typed Code


ASP scripting code is usually written in languages such as JScript or VBScript. The script-
execution engine that Active Server Pages relies on interprets code line by line, every time
the page is called. In addition, although variables are supported, they are all loosely typed
as variants and bound to particular types only when the code is run. Both these factors
6/16/2017 Beginners Introduction to ASP.NET - CodeProject

impede performance, and late binding of types makes it harder to catch errors when you
are writing code.

2. Mixes layout (HTML) and logic (scripting code)


ASP files frequently combine script code with HTML. This results in ASP scripts that are
lengthy, difficult to read, and switch frequently between code and HTML. The interspersion
of HTML with ASP code is particularly problematic for larger web applications, where
content must be kept separate from business logic.

3. Limited Development and Debugging Tools


Microsoft Visual InterDev, Macromedia Visual UltraDev, and other tools have attempted to
increase the productivity of ASP programmers by providing graphical development
environments. However, these tools never achieved the ease of use or the level of
acceptance achieved by Microsoft Windows application development tools, such as Visual
Basic or Microsoft Access. ASP developers still rely heavily or exclusively on Notepad.

Debugging is an unavoidable part of any software development process, and the


debugging tools for ASP have been minimal. Most ASP programmers
resort to embedding temporary Response. Write statements in their code to trace the
progress of its execution.

4. No real state management


Session state is only maintained if the client browser supports cookies. Session state
information can only be held by using the ASP Session object. And you have to implement
additional code if you, for example, want to identify a user.

5. Update files only when server is down


If your Web application makes use of components, copying new files to your application
should only be done when the Web server is stopped. Otherwise it is like pulling the rug
from under your application's feet, because the components may be in use (and locked)
and must be registered.

6. Obscure Configuration Settings


The configuration information for an ASP web application (such as session state and
server timeouts) is stored in the IIS metabase. Because the metabase is stored in a
proprietary format, it can only be modified on the server machine with utilities such as the
Internet Service Manager. With limited support for programmatically manipulating or
extracting these settings, it is often an arduous task to port an ASP application from one
server to another.

Introducing ASP.NET
ASP.NET was developed in direct response to the problems that developers had with classic
ASP. Since ASP is in such wide use, however, Microsoft ensured that ASP scripts execute
without modification on a machine with the .NET Framework (the ASP engine, ASP.DLL, is not
modified when installing the .NET Framework). Thus, IIS can house both ASP and ASP.NET
scripts on the same machine.

Advantages of ASP.NET

1. Separation of Code from HTML


To make a clean sweep, with ASP.NET you have the ability to completely separate layout
and business logic. This makes it much easier for teams of programmers and designers to
6/16/2017 Beginners Introduction to ASP.NET - CodeProject

collaborate efficiently. This makes it much easier for teams of programmers and designers
to collaborate efficiently.

2. Support for compiled languages


developer can use VB.NET and access features such as strong typing and object-oriented
programming. Using compiled languages also means that ASP.NET pages do not suffer
the performance penalties associated with interpreted code. ASP.NET pages are
precompiled to byte-code and Just In Time (JIT) compiled when first requested.
Subsequent requests are directed to the fully compiled code, which is cached until the
source changes.

3. Use services provided by the .NET Framework


The .NET Framework provides class libraries that can be used by your application. Some
of the key classes help you with input/output, access to operating system services, data
access, or even debugging. We will go into more detail on some of them in this module.

4. Graphical Development Environment


Visual Studio .NET provides a very rich development environment for Web
developers. You can drag and drop controls and set properties the way you do in Visual
Basic 6. And you have full IntelliSense support, not only for your code, but also for HTML
and XML.

5. State management
To refer to the problems mentioned before, ASP.NET provides solutions for session and
application state management. State information can, for example, be kept in memory or
stored in a database. It can be shared across Web farms, and state information can be
recovered, even if the server fails or the connection breaks down.

6. Update files while the server is running!


Components of your application can be updated while the server is online and clients are
connected. The Framework will use the new files as soon as they are copied to the
application. Removed or old files that are still in use are kept in memory until the clients
have finished.

7. XML-Based Configuration Files


Configuration settings in ASP.NET are stored in XML files that you can easily read and
edit. You can also easily copy these to another server, along with the other files that
comprise your application.

ASP.NET Overview

Here are some point that gives the quick overview of ASP.NET.

ASP.NET provides services to allow the creation, deployment, and execution of Web
Applications and Web Services
Like ASP, ASP.NET is a server-side technology
Web Applications are built using Web Forms. ASP.NET comes with built-in Web Forms
controls, which are responsible for generating the user interface. They mirror typical HTML
widgets like text boxes or buttons. If these controls do not fit your needs, you are free to
create your own user controls.
Web Forms are designed to make building web-based applications as easy as building
Visual Basic applications
6/16/2017 Beginners Introduction to ASP.NET - CodeProject

ASP.NET Architecture

ASP.NET is based on the fundamental architecture of .NET Framework. Visual studio provide a
uniform way to combine the various features of this Architecture.

Architecture is explained form bottom to


top in the following discussion.

1. At the bottom of the Architecture is


Common Language Runtime. NET
Framework common language
runtime resides on top of the
operating system services. The
common language runtime loads and
executes code that targets the
runtime. This code is therefore called
managed code. The runtime gives
you, for example, the ability for cross-language integration.

2. .NET Framework provides a rich set of class libraries. These include base classes, like
networking and input/output classes, a data class library for data access, and classes for
use by programming tools, such as debugging services. All of them are brought together
by the Services Framework, which sits on top of the common language runtime.

3. ADO.NET is Microsofts ActiveX Data Object (ADO) model for the .NET Framework.
ADO.NET is not simply the migration of the popular ADO model to the managed
environment but a completely new paradigm for data access and manipulation.

ADO.NET is intended specifically for developing web applications. This is evident from its
two major design principles:

1. Disconnected DatasetsIn ADO.NET, almost all data manipulation is done outside


the context of an open database connection.
2. Effortless Data Exchange with XMLDatasets can converse in the universal data
format of the Web, namely XML.

4. The 4th layer of the framework consists of the Windows application model and, in parallel,
the Web application model.
The Web application model-in the slide presented as ASP.NET-includes Web Forms and
Web Services.
ASP.NET comes with built-in Web Forms controls, which are responsible for generating
the user interface. They mirror typical HTML widgets like text boxes or buttons. If these
controls do not fit your needs, you are free to create your own user controls.

Web Services brings you a model to bind different applications over the Internet. This
model is based on existing infrastructure and applications and is therefore standard-
based, simple, and adaptable.

Web Services are software solutions delivered via Internet to any device. Today, that
means Web browsers on computers, for the most part, but the device-agnostic design of
.NET will eliminate this limitation.
6/16/2017 Beginners Introduction to ASP.NET - CodeProject

5. One of the obvious themes of .NET is unification and interoperability between various
programming languages. In order to achieve this; certain rules must be laid and all the
languages must follow these rules. In other words we can not have languages running
around creating their own extensions and their own fancy new data types. CLS is the
collection of the rules and constraints that every language (that seeks to achieve .NET
compatibility) must follow.
6. The CLR and the .NET Frameworks in general, however, are designed in such a way that
code written in one language can not only seamlessly be used by another language.
Hence ASP.NET can be programmed in any of the .NET compatible language whether it is
VB.NET, C#, Managed C++ or JScript.NET.

Quick Start :To ASP.NET


After this short excursion with some background information on the .NET Framework, we will now
focus on ASP.NET.

File name extensions

Web applications written with ASP.NET will consist of many files with different file name
extensions. The most common are listed here. Native ASP.NET files by default have the
extension .aspx (which is, of course, an extension to .asp) or .ascx. Web Services normally have
the extension .asmx.

Your file names containing the business logic will depend on the language you use. So, for
example, a C# file would have the extension .aspx.cs. You already learned about the
configuration file Web.Config.

Another one worth mentioning is the ASP.NET application file Global.asax - in the ASP world
formerly known as Global.asa. But now there is also a code behind file Global.asax.vb, for
example, if the file contains Visual Basic.NET code. Global.asax is an optional file that resides in
the root directory of your application, and it contains global logic for your application.

All of these are text files

All of these files are text files, and therefore human readable and writeable.

The easiest way to start

The easiest way to start with ASP.NET is to take a simple ASP page and change the file name
extension to .aspx.

Page Syntax

Here is quick introduction of syntax used in ASP.NET

Directives

You can use directives to specify optional settings used by the page compiler when processing
ASP.NET files. For each directive you can set different attributes. One example is the language
directive at the beginning of a page defining the default programming language.
6/16/2017 Beginners Introduction to ASP.NET - CodeProject

Code Declaration Blocks

Code declaration blocks are lines of code enclosed in <script> tags. They contain the
runat=server attribute, which tells ASP.NET that these controls can be accessed on the server
and on the client. Optionally you can specify the language for the block. The code block itself
consists of the definition of member variables and methods.

Code Render Blocks

Render blocks contain inline code or inline expressions enclosed by the character sequences
shown here. The language used inside those blocks could be specified through a directive like
the one shown before.

HTML Control Syntax

You can declare several standard HTML elements as HTML server controls. Use the element as
you are familiar with in HTML and add the attribute runat=server. This causes the HTML element
to be treated as a server control. It is now programmatically accessible by using a unique ID.
HTML server controls must reside within a <form> section that also has the attribute
runat=server.

Custom Control Syntax

There are two different kinds of custom controls. On the one hand there are the controls that ship
with .NET, and on the other hand you can create your own custom controls. Using custom server
controls is the best way to encapsulate common programmatic functionality.

Just specify elements as you did with HTML elements, but add a tag prefix, which is an alias for
the fully qualified namespace of the control. Again you must include the runat=server attribute. If
you want to get programmatic access to the control, just add an Id attribute.

You can include properties for each server control to characterize its behavior. For example, you
can set the maximum length of a TextBox. Those properties might have sub properties; you know
this principle from HTML. Now you have the ability to specify, for example, the size and type of
the font you use (font-size and font-type).

The last attribute is dedicated to event binding. This can be used to bind the control to a specific
event. If you implement your own method MyClick, this method will be executed when the
corresponding button is clicked if you use the server control event binding shown in the slide.

Data Binding Expression

You can create bindings between server controls and data sources. The data binding expression
is enclosed by the character sequences <%# and %>. The data-binding model provided by
ASP.NET is hierarchical. That means you can create bindings between server control properties
and superior data sources.

Server-side Object Tags


6/16/2017 Beginners Introduction to ASP.NET - CodeProject

If you need to create an instance of an object on the server, use server-side object tags. When
the page is compiled, an instance of the specified object is created. To specify the object use the
identifier attribute. You can declare (and instantiate) .NET objects using class as the identifier,
and COM objects using either progid or classid.

Server-side Include Directives

With server-side include directives you can include raw contents of a file anywhere in your
ASP.NET file. Specify the type of the path to filename with the pathtype attribute. Use either File,
when specifying a relative path, or Virtual, when using a full virtual path.

Server-side Comments

To prevent server code from executing, use these character sequences to comment it out. You
can comment out full blocks - not just single lines.

First ASP.NET Program.


Now let us have our First ASP.NET program.

Lets look at both the markup and the C# portions of a simple web forms application that
generates a movie line-up dynamically through software.

Markup Portion

Web form application part 1 -- SimpleWebForm.aspx

Hide Copy Code

<% @Page Language="C#" Inherits="MoviePage" Src="SimpleWebForm.cs" %>


<html>
<body background="Texture.bmp">
<TITLE>Supermegacineplexadrome!</TITLE>
<H1 align="center"><FONT color="white" size="7">Welcome to
<br>Supermegacineplexadrome!</FONT></H1>

<P align="left"><FONT color="lime" size="5"><STRONG>


<U>Showtimes for <%WriteDate();%></U>
</STRONG></FONT></P>
<FONT size="5" color="yellow"><%WriteMovies();%></FONT>
</body>
</html>

And this is where the C# part of a web forms application comes in.

Web form application part 2 - SimpleWebForm.cs


6/16/2017 Beginners Introduction to ASP.NET - CodeProject

Hide Copy Code

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
public class MoviePage:Page
{
protected void WriteDate()
{
Response.Write(DateTime.Now.ToString());
}
protected void WriteMovies()
{
Response.Write("<P>The Glass Ghost (R) 1:05 pm, 3:25 pm, 7:00
pm</P>");
Response.Write("<P>Untamed Harmony (PG-13) 12:50 pm, 3:25 pm, "
+ <br> "6:55 pm</P>");
Response.Write("<P>Forever Nowhere (PG) 3:30 pm, 8:35 pm</P>");
Response.Write("<P>Without Justice (R) 12:45 pm, 6:45 pm</P>");
}
}

Execution Cycle :

Now let's see whats happening on the server side. You will shortly understand how server
controls fit in.

A request for an .aspx file causes the ASP.NET runtime to parse the file for code that can be
compiled. It then generates a page class that instantiates and populates a tree of server control
instances. This page class represents the ASP.NET page.

Now an execution sequence is started in which, for example, the ASP.NET page walks its entire
list of controls, asking each one to render itself.

The controls paint themselves to the page. This means they make themselves visible by
generating HTML output to the browser client.

Execution Process
We need to have a look at whats happening to your code in ASP.NET.

Compilation, when page is requested the first time

The first time a page is requested, the code is compiled. Compiling code in .NET means that a
compiler in a first step emits Microsoft intermediate language (MSIL) and produces metadataif
you compile your source code to managed code. In a following step MSIL has to be converted to
native code.

Microsoft intermediate language (MSIL)

Microsoft intermediate language is code in an assembly languagelike style. It is CPU


independent and therefore can be efficiently converted to native code.
6/16/2017 Beginners Introduction to ASP.NET - CodeProject

The conversion in turn can be CPU-specific and optimized. The intermediate language provides
a hardware abstraction layer.

MSIL is executed by the common language runtime.

Common language runtime

The common language runtime contains just-in-time (JIT) compilers to convert the MSIL into
native code. This is done on the same computer architecture that the code should run on.

The runtime manages the code when it is compiled into MSILthe code is therefore called
managed code.

ASP.NET Applications and Configuration

Overview
Like ASP, ASP.NET encapsulates its entities within a web application. A web application is an
abstract term for all the resources available within the confines of an IIS virtual directory. For
example, a web application may consist of one or more ASP.NET pages, assemblies, web
services configuration files, graphics, and more. In this section we explore two fundamental
components of a web application, namely global application files (Global.asax) and configuration
files (Web.config).

Global.asax

Global.asax is a file used to declare application-level events and objects. Global.asax is the
ASP.NET extension of the ASP Global.asa file. Code to handle application events (such as the
start and end of an application) reside in Global.asax. Such event code cannot reside in the
ASP.NET page or web service code itself, since during the start or end of the application, its code
has not yet been loaded (or unloaded). Global.asax is also used to declare data that is available
across different application requests or across different browser sessions. This process is known
as application and session state management.

The Global.asax file must reside in the IIS virtual root. Remember that a virtual root can be
thought of as the container of a web application. Events and state specified in the global file are
then applied to all resources housed within the web application. If, for example, Global.asax
defines a state application variable, all .aspx files within the virtual root will be able to access the
variable.

Like an ASP.NET page, the Global.asax file is compiled upon the arrival of the first request for
any resource in the application. The similarity continues when changes are made to the
Global.asax file; ASP.NET automatically notices the changes, recompiles the file, and directs all
new requests to the newest compilation. A Global.asax file is automatically created when you
create a new web application project in the VS.NET IDE.

Application Directives

Application directives are placed at the top of the Global.asax file and provide information used to
compile the global file. Three application directives are defined, namely Application, Assembly,
and Import. Each directive is applied with the following syntax:
6/16/2017 Beginners Introduction to ASP.NET - CodeProject

Hide Copy Code

<%@ appDirective appAttribute=Value ...%>

Web.config

In ASP, configuration settings for an application (such as session state) are stored in the IIS
metabase. There are two major disadvantages with this scheme. First, settings are not stored in
a human-readable manner but in a proprietary, binary format. Second, the settings are not easily
ported from one host machine to another.(It is difficult to transfer information from an IISs
metabase or Windows Registry to another machine, even if it has the same version of Windows.)

Web.config solves both of the aforementioned issues by storing configuration information as


XML. Unlike Registry or metabase entries, XML documents are human-readable and can be
modified with any text editor. Second, XML files are far more portable, involving a simple file
transfer to switch machines.

Unlike Global.asax, Web.config can reside in any directory, which may or may not be a virtual
root. The Web.config settings are then applied to all resources accessed within that directory, as
well as its subdirectories. One consequence is that an IIS instance may have many web.config
files. Attributes are applied in a hierarchical fashion. In other words, the web.config file at the
lowest level directory is used.

Since Web.config is based on XML, it is extensible and flexible for a wide variety of applications.
It is important, however, to note that the Web.config file is optional. A default Web.config file,
used by all ASP.NET application resources, can be found on the local machine at:

Hide Copy Code

\%winroot%\Microsoft.Net\Framework\version\CONFIG\machine.config

Summary
ASP.NET is an evolution of Microsofts Active Server Page (ASP) technology. Using ASP.NET,
you can rapidly develop highly advanced web applications based on the .NET framework. Visual
Studio Web Form Designer, which allows the design of web applications in an intuitive, graphical
method similar to Visual Basic 6. ASP.NET ships with web controls wrapping each of the
standard HTML controls, in addition to several controls specific to .NET. One such example is
validation controls, which intuitively validate user input without the need for extensive client-side
script.

In many respects, ASP.NET provides major improvements over ASP, and can definitely be
considered a viable alternative for rapidly developing web-based applications.

Points of Interest
I has write this tutorial to share my Knowledge of ASP.NET with you. You can find more articles
and software projects with free source code on my web site http://programmerworld.net .

History
6/16/2017 Beginners Introduction to ASP.NET - CodeProject

Date Posted: June 27, 2003

License
This article has no explicit license attached to it but may contain usage terms in the article text or
the download files themselves. If in doubt please contact the author via the discussion board
below.

A list of licenses authors might use can be found here

Share

About the Author


sudhirmangla

Web Developer

India

I am a B.E in Information Technology form Lingaya's Institute of Managemant and Technology


Faridabad, India.
I has worked on VC++, MFC, VB, Sql Server. Currently I am working on .net, C# and ASP.net
I keeps my free source code projects and articles at website http://programmerworld.net

You might also like