ASP.NET Dr. Ralph Westfall May, 2011. Web Development Problem HTML designed to display static pages...

Preview:

Citation preview

ASP.NET

Dr. Ralph WestfallMay, 2011

Web Development Problem

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

can’t provide animation except How Do I Make An Animated GIF?

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 very long/random directory/file names works a bit, 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 informationset cookies (data for server for next visit)

Client Side Scripts (continued)

what (client side) JavaScript can’t do write meaningful data to files on the

server (other than cookies) provide adequate security for

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

hiding proprietary code

Solution 2: Server Side Scripts

use common gateway interface (CGI)offer database & security capabilitieswritten in C, C++, Perl, Python, etc. relatively difficult to program & maintain

use server resources relatively inefficientlyseparate programs in addition to HTML but this is probably an advantage

Solution 3: "Classic" ASP

Microsoft's Active Server Pages released 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 languagecan go in same files as HTML codeprovides many of the capabilities of CGIuses server resources more efficiently than CGIusing 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.NETcan also use C# and J# with VWDX.NET supports over 50 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, Visual Web

Developer Express 2008, Microsoft WebMatrix (2 free)

IIS or VWDX on your computer or free (for a while?) ASP.NET hosting

web browser

Simple ASP.NET

create ASP.NET projectProject>Add New Item>Web Formview Source window and add .NET code to file between <body> tags put:<% Response.Write("Hello, World!") %><p>The time is: <% = Now() %></p>

run code from that window

ASP.NET Coding within HTML

use <% at start, %> at endon same line (inline)

<% = Time %>or on multiple lines (block) <%

Response.Write("<P>Hello, World!")

Response.Write 'cf. Console.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 <% Dim nAge as Integer = 22 nAge += 10 Response.Write("You will be" & nAge)

'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 %> <!--what will you see from this? Notes about " "-->

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]")

input.html

<form method="get"

action="output.aspx">

Last Name <input type="text"

name="custName" id="custName">

</form>

<!--need to refresh?-->

output.aspx

<!-- Visual Studio generated headers--> <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

Another Demonstration

Create: Web Site… ASP.NET Web Siteadd a Label to Default.aspx designer and expand it vertically and horizontally to occupy 25% of the screen (could make Height="[]px" and Width="[]px"double click the screen (outside of the label) to start a Page_Load Subpaste code on following page into Sub

VB.NET Web Code

Dim 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…>OKview code and then make changes as necessary

CIS 451 ASP.NET

ASP Code Samples

Recommended