專題四-網站設計與研發_第1頁
專題四-網站設計與研發_第2頁
專題四-網站設計與研發_第3頁
專題四-網站設計與研發_第4頁
專題四-網站設計與研發_第5頁
已閱讀5頁,還剩143頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

網站設計和開發Sunday,February5,2023第2頁教學重點網站的工作原理HTMLJAVACRIPTASP.NET與ASPIIS服務器的安裝與配置ASP.NET網站開發的知識準備Sunday,February5,2023第3頁網站的構成要素靜態網頁Web服務器動態網頁靜態網頁-HTML<html><head> <title>網頁標題</title></head><body> <h1>標題一</h1>

網頁內容。</body></html>標題標記段落級標記塊標記字符級標記列表水平標尺標記<HR>字體標記<FONT>IMG標記靜態網頁-HTML<HTML> <HEAD> <TITLE>歡迎學習HTML</TITLE> </HEAD> <BODYBGCOLOR=lavender> <H3>我的第一個HTML文檔</H3> <P>這將是一種很有趣的體驗

<H2>使用另一個標題</H2> <P>另一個段落元素

<ADDRESS> <P><Ahref="/">單擊此處訪問北京阿博泰克北大青鳥信息技術有限公司的主頁</A> </ADDRESS> </BODY></HTML>靜態網頁-HTML<HTML> <HEAD> <TITLE>學習HTML</TITLE> </HEAD> <BODY>

<DIV>

第1部分

<P>元素用于組織元素

<P>DIV通常用于塊級元素

</DIV>

<DIValign=right>

第2部分

<P>這是第二部分

<BR> <H2>您覺得有意思嗎?</H2>

</DIV> <P>第二部分向右對齊。

<SPANSTYLE="font-size:25">

公共格式</SPAN>應用于這一部分中的所有元素

</BODY></HTML>

靜態網頁-HTML<HTML> <HEAD> <TITLE>學習HTML</TITLE> </HEAD> <BODY> <OL> <LI>星期一

<LI>星期二

<LI>星期三

<LI>星期四

<LI>星期五

</OL> </BODY></HTML>靜態網頁-HTML<HTML> <HEAD> <TITLE>歡迎使用HTML</TITLE> </HEAD> <BODY> <H3><FONTSIZE=3COLOR=HOTPINKFACE="隸書">我的第一個HTML文檔</FONT></H3> <P>這<FONTCOLOR=BLUESIZE=6>將會</FONT>是一種很有趣的體驗

</BODY></HTML>靜態網頁-HTML<HTML> <HEAD> <TITLE>插入圖像</TITLE> </HEAD><BODY> <H1><FONTSIZE=3COLOR=FORESTGREEN> <B>插入圖像</B></FONT></H1><HR> <P> <IMGALIGN=BOTTOMSRC=cats.jpg>底部對齊</P> <P>圖2.15:示例15的輸出結果<IMGALIGN=TOPSRC=cats.jpg>頂部對齊</P> <P><IMGALIGN=MIDDLESRC=cats.jpg>居中對齊</P> </BODY></HTML>Sunday,February5,2023第10頁靜態網頁通常這些網頁只有HTML標記,沒有其他可以執行的程序代碼。網頁的內容是靜態不變的網址形式通常為:/index.htm靜態網頁的后綴名一般為:.htm.html.shtml.xml使用靜態網頁,如果要修改網頁內容,就必須修改源代碼,然后重新上傳到服務器上。(在網站制作和維護方面工作量較大,在功能方面也有較大的限制)靜態頁面工作原理Sunday,February5,2023第12頁Web服務器根據用戶的Web瀏覽器發送的請求提供相應文件的一種軟件也稱為HTTP服務器常用的Web服務器包括:微軟的IIS(Internet信息服務器)網景的企業服務器(NES)ApacheHTTP服務器等這一時期的Web設計更像是平面設計,而不是程序設計。這樣設計出來的頁面,只能呈現靜態的文本和圖像,無法提供滿足用戶需求的交互模式,也無法展示動態的信息。靜態網頁的缺點Sunday,February5,2023第14頁什么是動態網頁動畫、Flash、applet等所謂動態網頁只是視覺上的,與真正的“動態網頁”是不同的概念。示例“動態”主要指的是“交互性”動態網頁中不僅含有HTML標記,而且含有可以執行的程序代碼,動態網頁能夠根據不同的輸入和請求動態生成返回的頁面,例如常見的BBS、留言板、聊天室等就是用動態網頁來實現的。動態網頁的后綴名:.aspx.asp.jsp.php等等動態網頁又分:客戶端動態網頁和服務器端動態網頁客戶端動態:由瀏覽器上的模塊(插件)完成創建動態網頁的全部工作。服務器端動態:由Web服務器處理請求后生成對應的網頁發送回瀏覽器動態頁面工作原理動態網頁和靜態網頁的區別:核心區別:是否在服務器端運行!動態網頁中的某些腳本只能在服務器端運行,而靜態網頁中的任何腳步都不能在服務器端運行。動態網頁中可以同時包含客戶端腳本和服務器腳本,而靜態網頁中只能包含客戶端腳本。后綴名差別:靜態:.html.htm

動態:.asp.aspx.jsp.php等等Sunday,February5,2023第18頁ASPASP全稱為ActiveServerPages(中文譯名為活動服務器頁面),是微軟公司推出的用于Web應用服務的一種編程技術語法簡單,易學易用。asp采用的腳本語言:VBScript和JavaScript。代碼嵌入到HTML語言中。JavaScript簡介JavaScript簡介前身叫作LiveScript,是一種基于對象(Object)和事件驅動(EventDriven)、并具有安全性能的腳本語言。JavaScript與Java是兩個公司開發的兩個不同的產品,作用與用途大不一樣,但兩者語法上有很多多相似之處,JavaScript并不是Java的子集。JavaScript、Jscript與ECMAScripthttp://http:///scripting什么是JavaScriptJavaScript是一種腳本語言<html><scriptlanguage=“javascript”>

alert(newDate());</script></html>提供用戶交互

動態更改內容數據驗證將JavaScript嵌入網頁可以將JavaScript語句插入HTML文檔,方式如下:在HTML標記中直接寫入JavaScript代碼使用<SCRIPT>標簽將語句嵌入文檔將JavaScript源文件鏈接到HTML文檔中在HTML標記中直接寫入JavaScript代碼<HTML><BODY>

<Ponmouseover="alert('歡迎您學習JavaScript!')">鼠標移過來</P></BODY></HTML>

運行將腳本程序代碼作為屬性值<ahref=“javascript:alert(newDate());”>javascript</a><inputtype=buttononclick=“alert(new

Date())”value=t/>使用Script標簽JavaScript代碼<HTML><HEAD><SCRIPTlanguage="JavaScript">document.write("歡迎來到JavaScript世界");</SCRIPT></HEAD><BODY><P>盡情享受學習的快樂!!!</BODY></HTML>腳本代碼設置語言腳本代碼的位置JavaScript代碼可以放置在HTML任何位置<script>varx=3;</script><p>這是一個HTML段落</p><script>alert(x);</script><p>這是一個HTML段落</p><script>varx=3;alert(x);</script><scriptlanguang=“javascript”><!—

alert(newdate());--></script>使用外部JS文件外部JavaScript文件(*.js)可以鏈接到HTML文檔中SCRIPT標簽的SRC(源文件)屬性可用于包括此外部文件<scriptlanguage=“JavaScript”src=“文件名.js"></script>

使用外部JS文件JavaScript代碼(test.htm)<HTML><HEAD><TITLE>使用外部文件</TITLE><SCRIPTSRC="test.js"></SCRIPT></HEAD><BODY><P>以上文本是通過訪問外部JavaScript文件顯示的</BODY></HTML>document.write("喂!你好嗎?")JavaScript代碼(test.js)JavaScript的基本語法JavaScript中的標識符標識符是指JavaScript中定義的符號,例如,變量名,函數名,數組名等。標識符可以由任意順序的大小寫字母、數字、下劃線(_)和美元符號($)組成,但標識符不能以數字開頭,不能是JavaScript中的保留關鍵字。合法的標識符舉例:indentifler、username、user_name、_userName、$username非法的標識符舉例:int、98.3、HelloWorldJavaScript嚴格區分大小寫computer和Computer是兩個完全不同的符號JavaScript程序代碼的格式每條功能執行語句的最后必須用分號(;)結束,每個詞之間用空格、制表符、換行符或大括號、小括號這樣的分隔符隔開。JavaScript程序的注釋/*…….*/中可以嵌套“//”注釋,但不能嵌套“/*….*/”JavaScript中保留的關鍵字abstractbooleanbreakbytecasecatchcharclasscontinuedefaultifforfloatfinallyfinalfalseextendselsedoubledoimplementsimportinstanceintinterfacelongnativenewnullbackagethissynchronizedswitchsuperstaticshortreturnpublicprotectedprivatethrowthrowstransienttruetryvoidvolatilewhile基本數據類型與常量整型常量十六進制以0x或0X開頭,例如0x8a。八進制必須以0開頭,例如:0123。十進制的第一位不能是0(數字0除外),例如:123。實型常量12.32、192.98、5E7、4e5等。布爾值true和false.null常量undefined常量字符串型常量“thisisJavaScriptppt”、’abc’、“a”、“”。字符串中的特殊字符,需要以反斜杠(\)后跟一個普通字符來表示,例如:\r、\n、\t、\b、\’、\”、\\.聲明變量

var

a;

“var”-用于聲明變量的關鍵字“a”-變量名同時聲明和初始化變量vara=10;a=10;聲明變量聲明多個變量varx,y,z=10;賦值聲明變量<HTML><HEAD><TITLE>使用變量</TITLE><SCRIPTLANGUAGE="Javascript">var

x;x=prompt("淘寶網竟拍,請出一口價",1);document.write("拍賣價格"+x+"<BR>")//"+"用來連接多個字符串document.write("恭喜您,您以最高價拍賣成功!");alert("歡迎下次光臨!");</SCRIPT></HEAD></HTML>定義變量賦值輸出prompt(“提示信息”,”默認值”)將彈出提示對話框,接受用戶的輸入。點擊確定返回輸入的字符串,點擊取消反饋空字符串。

eval(字符串):將傳入的字符串參數內容,轉換成相應的數值,例如:

y=eval(“15”)+8;結果:y=23

parseInt(字符串,[底數]):將傳入的字符串,轉換成指定底數的數值。

parseFloat(字符串):將傳入的字符串,轉換成浮點數值。

舉例數據類型轉換運算符算術運算符賦值運算符比較運算符邏輯運算符位運算符算術運算符+

加法運算符或正值運算符,例如:x+5,+6。“+”還能實現多個字符串的相加,也能將字符串與其它的數據類型連成一個新的字符串,條件是該表達式中至少有一個字符串,例如:“x”+123的結果是“x123”.-

減法運算符或負值運算符,例如:7–3,-8.*

乘法運算符,例如:3*6./

除法運算符,例如,9/4.%

求模運算符(也就算術中的求余)5/2.++

將變量值加1后再將結果賦給這個變量?!埃庇袃煞N用法:++x,x++. 1。前者是變量在參與其它運算之前先將自己加1后再用新的 值參與其它的運算。例如:b=++a是a先自增,即a的值 加1后,才賦值給b; 2。后者是先用原值參與其它運算后,再將自己加1,例如: b=a++是先將a賦值給b后,a再自增。--將變量值減1后再將結果賦給這個變量,與++的用法一樣。程序的流程控制順序結構if條件選擇語句switch選擇語句while循環語句dowhile語句for循環語句break與continue語句函數函數的作用與定義全局變量與局部變量參數個數可變的函數創建動態函數JavaScript中的系統函數函數的作用。。。。。。。。。。函數1。。。。。。。。。。函數2。。。。。。。。。。函數1。。。。。。。。。。主程序。。。。。函數3。。。。。。。。。函數1。。。。。。。。。。。。函數2。。。。。。。。。。。。函數3函數的定義與調用定義一個函數的格式如下:function函數名(參數列表){

程序代碼:

return表達式;}對函數進行調用的幾種方式:1.函數名(傳遞給函數的參數1,傳遞給函數的參數2,…)2.變量=函數名(傳遞給函數的參數1,傳遞給函數的參數2,…)3.對于有返回值的函數調用,也可以在程序中直接使用返回的結果,例如:alert(“sum=”+square(2,3));變量a、b和c只能在其各自的函數中被訪問變量的作用域腳本函數function1局部變量a函數function2局部變量b函數function3局部變量c可由函數1、函數2和函數3訪問全局變量gg全局變量不需要以var

關鍵字進行聲明,但局部變量則必須以此關鍵字來聲明參數個數可變的函數<scriptlangusge=“javascript”>functiontestparams(){

var

params=“”;

for(vari=0;i<arguments.length;i++)

params=params+””+arguments[i];

alert(params);}testparams(“abc”,123);testparams(123,456,“abc”);</script>在函數內部使用arguments對象來訪問調用程序傳遞的所有參數創建動態函數創建動態函數的基本語法格式:var

varName=newFunction(argument1,….,lastArgument);說明:所有的參數都必須是字符串型的,最后參數必須是這個動態函數的功能代碼。例子:<scriptlanguage=“javascript”>

varsquare=newFunction(“x”,“y”,“varsum;sum=x*x+y*y;returnsum;”);alert(square(3,2));</script>JavaScript函數內置函數

eval

函數:用于計算字符串表達式的值

isNaN

函數:用于驗證參數是否為NaN(非數字)JavaScript代碼<SCRIPTLANGUAGE="JavaScript">varstr1=prompt(“輸入一個表達式,我給您計算","1+1");varresult=eval(str1);document.write(str1+"="+result);varx=prompt("輸入一些數據","0");if(isNaN(x))

alert(x+"不是一個數字");else

alert(x+"是一個數字");</SCRIPT>對象對象與對象實例構造方法與this關鍵字的作用在對象函數中變量作用域的問題JavaScript的內部對象對象與對象實例對象中所包含的變量就是對象的屬性;對屬性進行操作的函數就是對象的方法;對象的屬性和方法都叫對象的成員。對象是對某一類事物的描述,是抽象上的概念;而對象實例是一類事物中的具體個例。能夠被用來創建對象實例的函數就叫對象的構造函數,只要定義了一個對象的構造函數就等于定義了一個對象,使用new關鍵字和對象的構造函數就可以創建對象實例,語法格式如下:var

objInstance=newObjName(傳遞給該對象的實際參數列表);JavaScript對象簡介三類對象

瀏覽器對象

內部對象HTML對象瀏覽器窗口window文檔documenturl地址等String字符串對象Date日期對象Math數學對象等

各種HTML標簽:段落<P>圖片<IMG>超鏈接<A>等構造方法與this關鍵字為一個對象實例新增加的屬性和方法,不會增加到同一個對象所產生的其它對象實例上。所有的實例對象在創建后都會自動調用構造函數,在構造函數中增加的屬性和方法會被增加到每個對象實例上。對象實例是用new關鍵字創建的,在構造方法中不要有返回結果的return語句。調用對象的成員方法時,需要使用“對象實例.成員方法”的形式,很顯然,用作成員方法的函數被調用時,一定伴隨有某個對象實例。this關鍵字代表某個成員方法執行時,引用該方法的當前對象實例,所以,this關鍵字一般只在用作對象方法的函數中出現。<scriptlanguage=“javascript”>functionPerson(name,age){

this.age=age;

=name;

this.say=sayFunc;}functionsayFunc(){

alert(+”:”+this.age);}varperson1=newPerson(“張三”,18);person1.say();varperson2=newPerson(“李四”,20);person2.say();</script>JavaScript的內部對象動態對象使用“對象實例名.成員”的格式來訪問其屬性和方法靜態對象直接使用“對象名.成員”的格式來訪問其屬性和方法。Object對象String對象Math對象Date對象toString方法Object對象Object對象提供了一種創建自定義對象的簡單方式,不需要程序員再定義構造函數。

<scriptlanguage=“javascript”> functiongetAttributeValue(attr) {

alert(person[attr]); }

varperson=newObject();

=“zs”;

person.age=18;

getAttributeValue(“name”);

getAttributeValue(“age”); </script>String對象創建字符串有兩種不同方法:使用

var

語句

var

newstr=“這是我的字符串”;創建String對象var

newstr=newString(“這是我的字符串”)

String對象名稱說明屬性length返回字符串的長度

方法big()增大字符串文本blink()使字符串文本閃爍(IE瀏覽器不支持)bold()加粗字符串文本

fontcolor()確定字體顏色

italics()用斜體顯示字符串

indexOf(“子字符串”,起始位置

)查找子字符串的位置strike()顯示加刪除線的文本

sub()將文本顯示為下標

……toLowerCase()將字符串轉換成小寫

toUpperCase()將字符串轉換成大寫語法:indexOf(“查找的子字符串”,查找的起始位置)返回子字符串所在的位置,如果沒找到,返回-1例如:varxvary=“abcdefg”;x=y.indexOf(“c”,0);//返回結果為2,起始位置是0String對象charAt方法:返回指定位置的字符注意:一個字符串的第一個字符的索引位置為0,依次類推。charCodeAt方法:返回指定位置字符的Unicode編碼lastIndexOf方法:從右向左執行match、search方法:使用正則表達式搜索replace方法:使用正則表達式替換split方法:按照指定分隔符拆分字符串slice方法:返回兩個指定位置的子字符串說明:str1.slice(0)和str1.slice(0,-1)都是返回整個字符串。substr、substring方法:返回指定位置和長度的子字符串注意:substring方法返回的內容不包含結束位置的字符。Math對象Math對象是一個靜態對象,不能使用new關鍵字創建對象實例,應直接使用“對象名。成員”的格式訪問其屬性或方法,例如:varnum=Math.random();Math對象名稱說明屬性PI∏的值,約等于

3.1415LN1010的自然對數的值,約等于2.302EEuler的常量的值,約等于2.718。Euler的常量用作自然對數的底數abs(y)返回

y的絕對值sin(y)返回

y的正弦,返回值以弧度為單位。cos(y)返回

y的余弦,返回值以弧度為單位tan(y)返回

y的正切,返回值以弧度為單位min(x,y)返回

x和y兩個數中較小的數max(x,y)返回

x和y兩個數中較大的數

random返回0-1的隨機數方法round(y)四舍五入取整sqrt(y)返回

y的平方根Math.random():產生0-1的隨機小數Math.round():四舍五入取整,如9.34取整為9<HTML><HEAD><METAhttp-equiv="refresh"content="2"><TITLE>自動刷新</TITLE><SCRIPTlanguage="JavaScript">document.write("2秒自動刷新,隨機顯示圖片");

vari=0;i=Math.round(Math.random()*8+1);

document.write("<IMGwidth=640height=433src="+i+".jpg>");</SCRIPT></HEAD><BODY>

</BODY></HTML>Math對象假定隨機產生的數字i=3,上述代碼即為:<IMGwidth=640height=433src=3.jpg>顯示第三幅圖片(3.jpg)如何實現每隔2秒刷新網頁Math.round(Math.random()*8+1)產生1-9的數字Date對象Date對象存儲的日期為自1970年1月1日00:00:00以來的毫秒數var

日期對象=newDate(年、月、日等參數)例:var

mydate=newDate(“July29,1998,10:30:00”)如果沒有參數,表示當前日期和時間例:vartoday=newDate()

Date對象方法分組說明setxxx這些方法用于設置時間和日期值getxxx

這些方法用于獲取時間和日期值Toxxx這些方法用于從

Date對象返回字符串值parsexxx&UTCxx這些方法用于解析字符串Data方法的分組:Date對象值整數Seconds和minutes0至59Hours0至23Day0至6(星期幾)Date1至31(月份中的天數)Months0至11(一月至十二月)用作Date方法的參數的整數:Date對象方法說明setDate設置

Date對象中月份中的天數,其值介于1至31之間。setHours設置Date對象中的小時數,其值介于0至23之間。setMinutes設置

Date對象中的分鐘數,其值介于0至59之間。setSeconds設置

Date對象中的秒數,其值介于0至59之間。setTime設置

Date對象中的時間值。setMonth設置

Date對象中的月份,其值介于1至12之間。Set方法:Date對象方法說明getDate返回

Date對象中月份中的天數,其值介于1至31之間getDay返回

Date對象中的星期幾,其值介于0至6之間getHours返回Date對象中的小時數,其值介于0至23之間getMinutes返回

Date對象中的分鐘數,其值介于0至59之間getSeconds返回

Date對象中的秒數,其值介于0至59之間getMonth返回

Date對象中的月份,其值介于0至11之間getFullYear返回

Date對象中的年份,其值為四位數getTime返回自某一時刻(1970年1月1日)以來的毫秒數Get方法:Date對象方法說明ToGMTString使用格林尼治標準時間(GMT)數據格式將Date對象轉換成字符串表示ToLocaleString使用當地時間格式將Date對象轉換成字符串表示方法說明Date.parse(datestring)用日期字符串表示自

1970年1月1日以來的毫秒數

Date.UTC(year,month,day,hours,min.,secs.)Date對象中自

1970年1月1日以來的毫秒數

To方法:Parse方法和UTC方法<HTML><BODY><scriptlanguage="javaScript">varnow=newDate();varhour=now.getHours();if(hour>=0&&hour<=12)

document.write("上午好!")if(hour>12&&hour<=18)

document.write("下午好!");if(hour>18&&hour<24)

document.write("晚上好!");document.write("<P>今天日期:"+now.getYear()+"年“

+(now.getMonth()+1)+"月"+now.getDate()+"日");document.write("<P>現在時間:"+now.getHours()+"點"+now.getMinutes()+"分");</script></body></HTML>Date對象如何實現獲得當前日期和時間獲得小時,即當前是幾點判斷上午、下午還是晚上月份數字0-11,注意+1Date對象setTimeout的用法:

setTimeout(“調用的函數”,”定時的時間”)例:

var

myTime=setTimeout(”disptime()”,1000);

clearTimeout(myTime);隔1000毫秒調用函數disptime()執行關閉定時器本例的時間可以采用定時顯示,使用定時器函數,隔1秒調用disptime()函數顯示時間Date對象無邊框的文本框myclockvar

myTime=

setTimeout("disptime()",1000);設置定時器隔1秒(1000毫秒),調用函數disptime()執行,刷新時鐘顯示toString方法toString方法是JavaScript中的所有內部對象的一個成員方法,它的主要作用就是將對象中的數據轉換成某種格式的字符串來表示,具體的轉換方式取決于對象的類型。舉例:<scriptlanguage=“javascript”>varx=328;alert(“hes=”+x.toString(16)+

”bin=”+x.toString(2));</script>for…in舉例<scriptlanguage=“javascript”>functionPerson(){

=“sky”;

this.age=19;

this.height=172;}varp1=newPerson();varprop,str=“”;for(propinp1){

str+=;}alert(str);</script>數組數組列表用對象的方式實現數組Array對象數組聲明數組

var

數組名=newArray(數組大小);

例:var

emp=newArray(3)添加元素

emp[0]=“AA";emp[1]=“BB";emp[2]=“CC";AABBCCemp

也可以聲明數組并賦初值:例:var

emp=newArray(“AA”,“BB”,“CC”);Array對象三種構造方法Array()Array(4)Array(3.4,“abc”,3)數組列表數組列表用于表示一組數據的集合,它由一對方括號([])包圍,列表中的每個元素用逗號分隔,數組元素可以是任類型的數據(包括其他數組)。例如:

var

arr=[“sky”,123,‘li’,3.5];對于每個數組變量,都有一個length屬性,表示該數組中元素的個數。使用“數組變量名[索引號]”的格式來訪問每個數組元素。數組列表中的第一個元素的索引號為0,最后那個元素的索引號為數組的length屬性值減1.數組列表的每個元素既可以是有效的JavaScript表達式,也可以為空,空元素的值為undefined.例如:

var

arr=[1,,,,5];數組元素本身又是數組,就叫數組的數組,例如:[[“names”,“beansproul”,“pumpkin”,“max”],[“ages”,6,5,4]]使用“數組變量名[子數組索引號][子數組中的元素索引號]”的格式來訪問數組的數組中的元素。數組常用屬性

length

:返回數組中元素的個數常用方法方法說明join將數組中的元素組合成字符串reverse顛倒數組元素的順序,使第一個元素成為最后一個,而最后一個元素成為第一個sort對數組元素進行排序<scriptlanguage=“javascript”>var

arr=[[“names”,“beansproul”,“pumpkin”,“max”],[“ages”,6,5,4]]for(vari=0;i<arr.length;i++){

for(varj=0;j<arr[i].length;j++){

alert(arr[i][j]);}}</script>用對象的方式實現數組<scriptlanguage=“javascript”>functionMyArray(){

this.length=arguments.length;

for(varI=0;i<this.length;i++){

this[i]=arguments[i];}}var

str=“”;var

arr=newMyArray(4,3.4,“abc”);for(vari=0;i<arr.length;i++){

str+=arr[i]+”\n”;}alert(str);</script><scriptlanguage=“javascript”>functionMyArray(size){

this.length=size;

for(varj=0;j<size;j++){

this[j]=“”;}}var

arr=newMyArray(2);arr[0]=3;arr[1]=“abc”;arr[2]=4;aarx,str=“”;for(xinarr){

str+=x+“:“+arr[x]+”\n”;}alert(str);</script>Sunday,February5,2023第76頁ASP.NET(ASP的發展)微軟公司很快公布了其宏偉的“Windows.NET”計劃,發布了成為下一代網絡服務框架的NGWS,同時將其ASP技術升級為ASP+2000年11月,微軟公司推出VisualStudio.NET7.0開發工具的Beta版本,將NGWS更名為.NETFramework,此時ASP+也正式改名為現在的ASP.NET。ASP.NET與

ASP相比速度更快,功能更加強大。ASP.NET與.net框架的關系搭建ASP.NET開發運行環境最重要的是安裝.NETFramework,即.net框架。.NET框架.NET框架(.NETFramework)是一套應用程序開發和運行的平臺或者環境,而ASP.NET則是這個平臺中的一部分,主要負責WEB應用程序的開發,為WEB應用程序開發提供接口,因此要想利用ASP.NET技術開發WEB應用程序,必須安裝.NET框架。Sunday,February5,2023第78頁.NET框架CLR:為基于.net平臺的一切操作提供一個統一的運行環境。.net類庫(基類庫):是.net應用軟件開發的基礎類庫,也是.NET平臺本身的實現基礎。ADO.NET為.net框架提供統一的數據訪問技術。Sunday,February5,2023第79頁技術特點多語言支持VisualBasic.NETVisualC++C#Jscript.NET多平臺支持所有支持.NET的Windows平臺性能強大的性能和可伸縮性ASP.NET

的多語言支持代碼編譯執行___________________________代碼編譯Microsoft中間語言(MSIL或IL)

JIT

編譯器機器語言分別編譯IL

的每一部分Sunday,February5,2023第81頁C#與ASP.NETC#語言是一門簡單,現代,優雅,面向對象,類型安全,平臺獨立的一門新型組件編程語言很多人學ASP.NET,不知道用好還是c#好,看

簡單就選擇了,結果學了接近兩個月才在幾個高手朋友的指點下,改成C#,當然,我這不是說VB.net不好,只是說c#的代碼看起來簡潔點。而且目前絕大多數公司使用C#.IIS服務器InternetInformationServer(簡稱IIS)是Windows系統提供的一種服務,它包括WWW服務器、FTP服務器和SMTP服務器,是架設個人網站的首選。

程序→運行→inetmgr

Windows2000Server在安裝的過程中會自動安裝IIS5.0,而Windows2000Professional和WindowsXP則不會,必須用添加Windows組件的方式另行安裝。下面以WindowsXP為例,介紹安裝IIS5.1的過程。1.安裝IIS

安裝IIS的步驟如下:

①從桌面的“開始”菜單中選擇“控制面板”,打開“控制面板”。雙擊“添加或刪除程序”圖標,打開“添加或刪除程序”對話框。

②用鼠標單擊左邊的“添加/刪除Windows組件”圖標,打開“Windows組件向導”(圖1-12)。

圖1-12Windows組件向導

選中“組件”列表中的“Internet信息服務(IIS)”選項,單擊“下一步”按鈕,組件向導即開始安裝所選組件。在安裝向導的最后一頁單擊“完成”按鈕,完成組件的安裝。2.Internet信息服務器在“控制面板”中雙擊“管理工具”圖標,打開“管理工具”對話框,在其中雙擊“Internet信息服務”圖標,打開Internet信息服務器窗口,如圖1-13所示。圖1-13Internet信息服務器窗口

3配置IIS虛擬目錄是Web

服務器使用的邏輯目錄名,與服務器上的物理目錄相對應使用IIS

創建虛擬目錄步驟1:在“默認Web站點”中創建一個虛擬目錄。步驟2:給出此虛擬目錄的別名。步驟3:選擇虛擬目錄的位置。步驟4:為此目錄選擇適當的訪問權限。激活瀏覽器,在地址欄中輸入本機的網址,如http://localhost/4.測試IISVS2008的下載及破解.net自學手冊1-VisualStudio2008的下載及破解/show.asp?id=1133HTML+C#+ADO.NET+access/SQLserver理論學習要求ASP.NET開發程序的一般步驟Web窗體的IDEWeb窗體的IDE菜單欄和工具欄工具箱解決方案資源管理器服務器資源管理器“屬性”窗口創建Web應用程序在.NET環境中使用VisualC#構建一個ASP.NETWeb應用程序已創建虛擬目錄按照提供的名稱創建解決方案和項目,同時還創建了默認引用和文件默認的Web

應用程序文件創建的文件說明WebForm1.aspx和WebForm1.aspx.cs文件它們組成一個單獨的Web窗體頁。.aspx

文件包含Web窗體頁的可視化元素,而.aspx.cs

則包含用于Web窗體頁的代碼隱藏類AssemblyInfo.cs

項目信息文件,包含有關某一個項目中程序集的元數據Web.config

存儲應用程序配置信息Global.asax

和Global.cs文件用于處理應用程序級事件的可選文件Styles.css

級聯樣式表文件.vsdisco

文件基于XML

的文件,包含的鏈接指向為XMLWeb服務提供發現信息的資源Global.asax2-1“Global.asax”存儲所有事件的事件處理程序存儲在應用程序的根目錄下它的位置定義應用程序的限界

包含所有應用程序的配置設置Global.asax2-2httpApplication類實例事件事件處理程序Global.asax配置設置存儲于文件事件說明Application_Start調用當前應用程序目錄(或其子目錄)下的第一個ASP.NET頁面時觸發。Application_End應用程序的最后一個會話結束時觸發。用Internet服務管理器管理單元停止Web應用程序時也會觸發Application_BeginRequest每次頁面請求開始時觸發(理想情況下是在頁面加載或刷新時)Application_EndRequest每次頁面請求結束時(即每次在瀏覽器上執行頁面時)觸發Session_Start每次新的會話開始時觸發Session_End會話結束時觸發。(關于會話可以采用何種方式結束,請參見會話對象)利用提供的內置對象,可以實現頁面之間的數據傳遞及實現一些特定的功能,如:緩沖輸出,頁面重定向等等。ResponseRequestServerApplicationSessionCookieResponse對象作用:將動態生成的信息嵌入到HTML文檔中,然后發送到客戶端;緩沖輸出數據;重定向瀏覽器到另一個URL;向瀏覽器輸出Cookie文件。其類名為httpResponseResponse對象常用屬性和方法Write()

向客戶端發送字符串信BufferOutPut

屬性,是否使用緩存Buffer 屬性,是否使用緩存ContentType

屬性,指定輸出文檔的類型Clear() 清除緩存Flush() 強制輸出緩存的所有數據Redirect()

網頁轉向地址End() 終止當前頁的運行WriteFile() 讀取一個文件,并且寫入客戶端輸出流向瀏覽器輸出數據

Response對象可以將一些動態生成的信息插入到網頁中,需要使用如下形式:Response.write

其中,不管表達式的結果是什么類型,最終都作為字符串插入到網頁中。向瀏覽器輸出數據例:在網頁中嵌入動態信息<%@language=VBScript%><%dimd,m,yd=day(date())m=month(date())y=year(date())%><HTML><BODY>

<%

Response.write"今天是"&y&"年" &m&"月"&d&"日<BR>"%> </BODY></HTML>注意:如果直接將腳本代碼嵌入到HTML中,則它必須包含在<%和%>之間。向瀏覽器輸出數據程序清單處理Page_Load事件,添加如下代碼:Response.Write("專業名稱列表:");Response.Write("<ul>");Response.Write("<li>計算機網絡技術");Response.Write("<li>計算機信息管理");Response.Write("<li>軟件技術與開發");Response.Write("<ul>");向瀏覽器輸出數據Response輸出客戶端腳本彈出對話框Response.Write("<scriptlanguage=javascript>alert('歡迎學習ASP.NET')</script>")

Response.Write("<scriptlanguage=vbscript>msgbox(""hello!"")</script>")打開一個新的IE窗口Response.Write("<script>window.open(‘WebForm2.aspx')</script>")RegisterStartupScript("","<script>alert('信息有誤!')</script>");向瀏覽器輸出數據Response的緩沖輸出

ASP.NET提供了緩沖機制,能夠將要輸出到客戶端數據首先保存在服務器的緩存區域,當處理完整個Response響應之后再一次性地發給客戶端,這樣能夠大大加快訪問和處理數據的速度。

Response對象的BufferOutPut或Buffer屬性,指示是否緩沖Response的輸出:

Response.BufferOutput=True;

Response.Buffer=True;向瀏覽器輸出數據與緩沖輸出對應的幾個方法Clear() 清除緩存Flush() 強制輸出緩存的所有數據End() 終止當前頁的運行程序清單4.5

Response.BufferOutput=True;

Response.Write("專業名稱列表:");

Response.Write("<ul>");

Response.Write("<li>計算機網絡技術");

Response.Write("<li>計算機信息管理");

Response.Write("<li>軟件技術與開發");

Response.Write("<ul>");

Response.Clear();

Response.Write("<scriptlanguage=javascript>alert('歡迎學習ASP.NET')</script>");

Response.Flush();向瀏覽器輸出數據輸出內容指定瀏覽器請求一網頁時,服務器會將一個HTML文檔發送給客戶端瀏覽器,服務器也可以使用Response對象的ContentType屬性指明向瀏覽器發送的是其他類型的文檔。指明發送給客戶端瀏覽器的是什么類型的文檔,可使用如下形式:

Response.ContentType[=內容類型]內容類型的書寫格式為“類型/子類型”:默認值: “text/HTML”純文本: “text/plain”

Word文檔: “application/MSWord”

圖片: “image/GIF”使頁面轉向(頁面重定向)使用Response對象的redirect方法可以把用戶引導到指定的某個網頁。形式如下:Response.redirect

網頁地址例如:

Response.Redirect("");使頁面轉向(頁面重定向)在按鈕事件中根據選擇的用戶身份登錄到不同的頁面程序清單4.7(VB語言實現)PrivateSubbtnLogin_Click(ByValsenderAsSystem.Object,

ByValeAsSystem.EventArgs)HandlesbtnLogin.Click

SelectCasetxtName.Text

Case"admin"

Response.Redirect("ManagePage.aspx")

Case"teacher"

Response.Redirect("TeacherPage.aspx")

CaseElse

Response.Redirect("StudentPage.aspx")

EndSelectEndSub停止向頁面輸出數據Response.End()終止當前頁的運行程序清單

Response.BufferOutput=True;

Response.Write("專業列表");

Response.Write("<ul>");

Response.Write("<li>計算機網絡");

Response.Write("<li>軟件技術");

Response.Write("</ul>");

Response.End();

Response.Write("<scriptlanguage=javascript>

alert('Welcometolearn')</script>");

Response.Flush();向瀏覽器輸出文件Response.WriteFile(FileName)

其中:FileName

指需向瀏覽器輸出的文件名。作用:直接將文件中的內容嵌入到頁面中,下面是文件的內容程序清單<hr><h1>Title1</h1><br><h2>Title2</h2><br><b>BoldText</b><br><u>UnderLineText</u><p>List:<ul><li>ListItem1<li>ListItem2<li>ListItem3</ul><inputtype="text"><inputtype="button"value="Login"><hr>Request對象作用:Request對象主要是讓服務器取得客戶端瀏覽器的一些數據,包括從HTML表單用Post或者GET方法傳遞的參數、Cookie和用戶認證。因為Request對象是Page對象的成員之一,所以在程序中不需要做任何的聲明即可直接使用;其類名為HttpRequest使用Request.Form屬性獲取數據通過該屬性,讀取<Form></Form>之間的表單數據.

注意:提交方式要設置為“Post”。與Get方法相比較,使用Post方法可以將大量數據發送到服務器端。

不推薦使用利用Request.QueryString屬性獲取數據

Request對象的QuerySting屬性可以獲取HTTP查詢字符串變量集合。

通過該屬性,我們可以讀取地址信息

http://localhost/aaa.aspx?uid=tom&pwd=abc

其中標識為紅色部分的數據.注意:提交方式要設置為“Get”。簡化Request操作問題:Request.Form用于表單提交方式為Post的情況,而Request.QueryString

用于表單提交方式為Get的情況,如果用錯,則獲取不到數據。解決方法:利用Request(“元素名”)來簡化操作

If(!IsPostBack){ddlcomputer.Items.Add("計算機網絡技術");

ddlcomputer.Items.Add("計算機信息管理");

ddlcomputer.Items.Add("軟件技術與開發");

ddlcomputer.SelectedIndex=0;

rblSex.Items.Add("男");

rblSex.Items.Add("女");

rblSex.SelectedIndex=0;Me.Button1.Text="登錄";}Response.Write(Request("ddlcomputer"));Response.Write(Request("rblSex"));Response.Write(Request("TextBox1"));獲取客戶端瀏覽器信息

Response.Write("<p>客戶端瀏覽器為:"+HttpContext.Current.Request.Browser.Browser);Response.Write("<p>客戶端瀏覽器版本為:"+HttpContext.Current.Request.Browser.Version);Response.Write("<p>客戶端訪問的網址為:"+HttpContext.Current.Request.Url);Response.Write("<p>客戶端主機為:"+HttpContext.Current.Request.UserHostAddress);Server對象Server對象簡介

Server對象提供對服務器上的方法和屬性進行的訪問

.其類名稱是HttpServerUtility.Server對象的主要屬性有:MachineName:獲取服務器的計算機名稱。ScriptTimeout:獲取和設置請求超時(以秒計)。Server對象Server對象的常用方法方法名稱說明CreateObject創建

COM對象的一個服務器實例。Execute執行當前服務器上的另一個aspx頁,執行完該頁后再返回本頁繼續執行HtmlEncode對要在瀏覽器中顯示的字符串進行HTML編碼并返回已編碼的字符串。HtmlDecode對HTML編碼的字符串進行解碼,并返回已解碼的字符串。MapPath返回與

Web服務器上的指定虛擬路徑相對應的物理文件路徑。Transfer終止當前頁的執行,并為當前請求開始執行新頁。UrlEncode將代表URL的字符串進行編碼,以便通過

URL從

Web服務器到客戶端進行可靠的

HTTP傳輸。UrlDecode對已被編碼的URL字符串進行解碼,并返回已解碼的字符串。UrlPathEncode對

URL字符串的路徑部分進行

URL編碼,并返回已編碼的字符串。向瀏覽器輸出HTML代碼編碼:Server.HtmlEncode(“HTML代碼”)解碼:Server.HtmlDecode(“已編碼的HTML”)Stringstr="<fontcolor='red'><i>Server對象的使用</i></font>“;Response.Write("字符串不經Html編碼直接輸出:<br>");Response.Write(str);Response.Write("<p>字符串經過Html編碼后輸出:<br>");StringstrHtmlContent=Server.HtmlEncode(str);Response.Write(strHtmlContent);Response.Write("<p>對編碼后的字符串進行解碼:<br>");strHtmlContent=Server.HtmlDecode(strHtmlContent);Response.Write(strHtmlContent);獲取文件路徑

Server對象的MapPath方法將虛擬路徑或相對于當前頁的相對路徑轉化為Web服務器上的物理文件路徑。語法:Server.MapPath(“虛擬路徑”)

實例:

stringFilePath=Server.MapPath(“index.aspx”)

Response.Write(FilePath);

Sever.MapPath(“./”)表示所在頁面目錄

Sever.MapPath(“~/”)表示當前應用級程序的目錄Transfer方法和Execute方法Transfer的執行方式:第一個頁面跳轉到第二個頁面時,頁面處理的控制權也進行移交,但瀏覽器的Url仍保存第一個頁面的URL信息。這種重定向請求在服務器端執行,客戶端并不知道服務器執行頁面跳轉操作。Execute的執行方式:允許當前頁面執行同一web服務器的另一頁面,當另一頁面執行完畢后,控制流程重新返回到原頁面。

比較下列代碼:Server.Transfer("hello.aspx");Server.Execute("hello.aspx");Response.Redirect("hello.aspx");Application對象什么叫WEB應用程序?

ASP.NET應用程序是單個Web服務器上的某個虛擬目錄及其子目錄范圍內的所有文件、頁、處理程序、模塊和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論