CIS 451: Introduction to ASP.NET

Post on 15-May-2015

3.452 views 2 download

Transcript of CIS 451: Introduction to ASP.NET

CIS 451:Introduction to ASP.NET

Dr. Ralph D. WestfallJanuary, 2009

Web Development Problem

HTML designed to display static pages only interactive when user clicks links

can’t provide animation except animated GIFs

can’t create custom pages for specific types of customers

can’t use databases, spreadsheets, etc. no security capabilities in HTML itself

except hiding passwords <input type="password" etc.

using long directory/file names works somewhat, but it's not HTML

Solution 1: Client Side Scripts JavaScript (dominant product) can do

animation, rollovers, message boxes calculations, validation of user inputs incorporate customized content into pages

e.g. based on day/time, user inputs, etc. provide limited access to user’s system

system date, browser, plug-in information set cookies (data for server for next visit)

Client Side Scripts (continued)

what (client side) JavaScript can’t do connect with databases, and possibly

other applications on the server provide meaningful security for

access control (but JavaScript Source has some "hackish" scripts)

hiding proprietary code if it's in the HTML file or user has a tool to find it (e.g., Web Developer add-on for Firefox)

Solution 2: Server Side Scripts use common gateway interface (CGI) offer database & security capabilities written in C, C++, Perl, etc.

relatively difficult to program & maintain use server resources relatively

inefficiently separate programs in addition to

HTML but this is probably an advantage

Solution 3: ASP Active Server Pages released by Microsoft in 1996 works with Microsoft servers

Windows Server 2008 free Visual Web Developer Express 2008

IDE includes a lightweight personal web server for developing ASP.NET applications

so does Visual Studio

Solution 3: ASP (continued) simple language can go in same files as HTML code provides many of the capabilities of

CGI uses server resources more efficiently

than CGI using ASP server extensions, can work

with non-Microsoft servers, but …

ASP.NET major revision of ASP

can use different languages, not just VB.NET

VB.NET code looks more like Java than the VBScript used previously

.NET code is compiled into MSIL (Microsoft Intermediate Language)

MSIL is then interpreted into machine language that runs on the server

ASP.NET: Many Languages HTML (of course!) Visual Basic.NET can also use C# and J# with VWDX .NET supports over 30 other

languages C++ and JScript (Microsoft's version of

JavaScript) work with Visual Studio.NET other (non Microsoft) languages can

also work with Visual Studio.NET

Tools To Develop & Use ASP.NET

a tool to create code text editors: Notepad, TextPad, etc. HTML authoring tools: Dreamweaver,

FrontPage, etc. Visual Studio.NET, Web Matrix or

Visual Web Developer Express 2008 (free!)

IIS or VWDX on your computer or free 14-day ASP.NET hosting

web browser

Creating an ASP.NET Page create an HTML document add ASP code in appropriate places save with extension of .aspx if don't have local server on computer,

upload to a remote ASP.NET server Cal Poly Intranet server won't run ASP

view in browser (file can be on local machine with server or remote server)

Simple ASP.NET Page (not Visual Studio) create a document with HTML code add .NET code within HTML (inline)

at top, need <%@ Page Language="VB" %>

save with extension of .aspx upload to remote server (if don't

have Web Matrix or IIS) or paste into VS

view in browser

hello.aspx<%@ Page Language="VB" %><html> <body> <!-- paste below </form> tag--

> <% Response.Write("<P>Hello, world!") %> <P>The time is: <% = Now() %> </body></html> <!-- View Source in browser -->

ASP.NET Coding within HTML use <% at start, %> at end on same line (inline) <% = Time %> or on multiple lines (block)

<%

Response.Write "<P>Hello, world!"

Response.Write 'like VB.NET Debug.Write %>

ASP.NET Output in HTML ASP inside a HTML tag

<P>The time is: <% = Time %> use <% = followed by a variable or a

function that returns data, then %> variable can come from server itself, or

from client machine, or can be defined in code elsewhere in same or another ASP file

<% Dim strCar as String="Geo" %> <P>The car is: <% = strCar %>

Generating ASP Output - 2 ASP.NET code can write text and

also data from ASP.NET variables hit counter example <% nHits = nHits + 1 Response.Write "Hits = " & nHits

'text variable %>

Generating ASP Output - 3 can mix text, HTML, and ASP.NET

variables in code this includes using ASP to write HTML

tags, in addition to writing variables and text

fontsize.aspx <% Dim intI as Integer For intI = 1 to 7 %> <!-HTML inside ASP loop-> <font size = <% = intI %> > Size is <% = intI %> </font><br/> <% Next %> <!-note-> <!-what will you see from this?-> <!-fontcolor.aspx 'notes->

Using ASP.NET with Forms use HTML or ASP page to create a form

be sure all form fields have id = "[ ]" and also name = "[ ]" 'same as for id=

use an ASP.NET page to process inputs action attribute in form has name of an

ASP.NET file, and use Input (Submit) button form field values accessible to ASP as Request.QueryString("[form field name]")

form2.html

<html><body> <form method="get" action="resp2.aspx">

Last Name <input type="text"

name="custName" id="custName">

</body></html>

<!--need to refresh?-->

Default.aspx <%@ Page Language="VB" %> <html><body> Input from form: <% Dim strCustName as String

strCustName = _ Request.QueryString("custName")

Response.Write("last name is " & _ strCustName)

%></body></html>

Using ASP.NET with Forms - 2 if have more than just one text field, must

have a Submit button on form <input type=submit [etc.]>

after development would use <form method="post" [etc.]>

when using post, also need to change every Request.QueryString to Request.Form in the ASP page identified by the action

Using Visual Studio.NET for ASP using Visual Studio.NET or Visual

Web Developer Express 2008 Create: Web Site… ASP.NET Web Site add a Label to Default.aspx designer

and expand it vertically and horizontally to occupy 25% of the screen

double click the screen (outside of the label) to start a Page_Load Sub

paste code on following page into Sub

VB.NET Web CodeDim i As IntegerDim colr() As String = {"000000", "333300",

_ "666600", "999900", "cccc00", "ffff00"}Dim output As String = ""For i = 0 To 5 output &= "<h1><font color=#" & colr(i)

_ & ">" & colr(i) & "</font></h1>"NextLabel1.Text = output

Run Code click Start (first time) modify the web.config…

>OK view code and then make changes

as necessary

ASP.NET Code Samples CIS 451 ASP Code Samples W3 Schools online tutorials and

demonstration code