国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET開發(fā)簡明手冊

2024-07-10 13:07:02
字體:
供稿:網(wǎng)友

asp.net作為visual studio.net的一個組成部分,是從asp發(fā)展過來的,但并不是asp的簡單升級,而是microsoft推出的新一代active server pages。

asp.net是微軟的.net框架的重要組成部分,它使用vb.net、c#和jscript.net程序設(shè)計語言來實現(xiàn)動態(tài)網(wǎng)頁編程,這使得它的編程非常靈活和高效。同時asp.net是基于組件技術(shù)和面向?qū)ο蟮拈_發(fā)系統(tǒng),程序員可以使用系統(tǒng)的豐富組件,如文件上傳、e-mail發(fā)送、文件操作、廣告組件等。不但如此,程序員還可以開發(fā)自己的組件,擴(kuò)展asp.net的功能。

asp.net直接支持組件和code-behind技術(shù),可以更好地實現(xiàn)程序代碼和html代碼的分離。asp.net采用了新的叫做ado.net的數(shù)據(jù)庫訪問技術(shù),可以大大地提高數(shù)據(jù)訪問的效率,也可以很容易地開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)。

一、asp.net的運(yùn)行、開發(fā)環(huán)境
1.asp.net的運(yùn)行環(huán)境

(1)硬件要求

cpu: intel pentium ii 300 mhz (最好intel pentium iii 600 mhz)

內(nèi)存: 96 mb (最好128 mb)

磁盤空間: 250 mb(完全安裝) 155 mb(快速安裝)

顯示: 800×600, 256色

cd-rom:倍速光驅(qū)

(2)軟件要求

windows 2000 professional、windows 2000 server、windows 2000 advanced server、ie 5.5、ngws。

asp.net目前能支持c#、vb、jscrip等三種語言。

二、asp.net的安裝
1.安裝asp.net

可以從這里下載asp.net的安裝程序:http://download.microsoft.com/download/platformsdk/trial/1812.10full/nt5/en-us/setup.exe。asp.net的安裝過程很簡單,只需按照簡單提示安裝即可完成。但是,如果你的計算機(jī)安裝了office 2000,建議安裝asp.net之前先備份\microsoft office\office\mso9.dll文件,因為安裝完asp.net后,office會提示你注冊,否則的話office 2000會出現(xiàn)使用50次的限制。此時將備份的mso9.dll文件覆蓋掉原來的文件即可。

2.ngws

asp.net實際上是一個嶄新的運(yùn)行結(jié)構(gòu)的一部分,這個結(jié)構(gòu)提供對所有windows應(yīng)用程序的支持。這個結(jié)構(gòu)是microsoft's next generation web services (ngws)關(guān)鍵部分。當(dāng)你安裝了這個結(jié)構(gòu),你也就同時獲得了asp.net。這個結(jié)構(gòu)同樣支持所有其他服務(wù)器程序技術(shù)。

ngws 結(jié)構(gòu)通過對可升級分布式應(yīng)用添加(新的和增強(qiáng)的服務(wù))來擴(kuò)展com的結(jié)構(gòu),此種結(jié)構(gòu)常用做編寫可重復(fù)調(diào)用的可共同使用的軟件組件,這些新的和增強(qiáng)的服務(wù)有:

一套統(tǒng)一的豐富的程序庫; 一個支持多語言的運(yùn)行引擎;簡單地應(yīng)用建立、調(diào)試以及維護(hù);對分布式應(yīng)用加強(qiáng)了可升級性;保護(hù)現(xiàn)已存在的軟件和投資。

三、asp.net概念解析
1.web form

表單,英文單詞是form。在.net架構(gòu)里,form是一個經(jīng)常使用到的詞匯。web form代表了一個一個的web頁面。總的看來,form就像是一個容納各種控件的容器,各種控件都必須直接或者間接地與它發(fā)生依存關(guān)系。“表單”這個詞,在web程序員看來,總是和html里面的“form”相混淆。“web表單”似乎翻譯成“web頁面”更加妥當(dāng)一些。

大家還記得vb里面的form實際上就是一個對象吧,它可以有自己的屬性、方法、事件等等。web表單,或者說web頁面,實際上是一個“對象” (object)。.net架構(gòu)里面一個比較重要的概念就是“對象”,所有的控件都是對象,甚至數(shù)據(jù)類型都成了對象;每種數(shù)據(jù)類型都有自己特有的屬性和方法。我們在后面的編程中將體會到。

web form的后綴名是aspx。當(dāng)一個瀏覽器第一次請求一個aspx文件時,web form頁面將被clr(common language runtime)編譯器編譯。此后,當(dāng)再有用戶訪問此頁面時,由于aspx頁面已經(jīng)被編譯過,所以,clr會直接執(zhí)行編譯過的代碼,這和asp的情況完全不同。asp只支持vbscript和javascript這樣的解釋性的腳本語言。所以asp頁面是解釋執(zhí)行的。當(dāng)用戶發(fā)出請求后,無論是第一次,還是第一千次,asp的頁面都將被動態(tài)解釋執(zhí)行。而asp.net支持可編譯的語言,包括vb.net、c#、jscript.net等。所以,asp.net是一次編譯多次執(zhí)行。

為了簡化程序員的工作,aspx頁面不需要手工編譯,而是在頁面被調(diào)用的時候,由clr自行決定是否編譯。一般來說,下面兩種情況下,aspx會被重新編譯:

(1)aspx頁面第一次被瀏覽器請求;

(2)aspx被改寫。

由于aspx頁面可以被編譯,所以aspx頁面具有組件一樣的性能。這就使得aspx頁面至少比同樣功能的asp頁面快250%!

網(wǎng)絡(luò)表單把基于vb表單的高效率的優(yōu)點(diǎn)帶到了網(wǎng)絡(luò)應(yīng)用程序的開發(fā)中來。網(wǎng)絡(luò)表單支持傳統(tǒng)的將html內(nèi)容與腳本代碼混合的asp語法,但是它提出了一種將應(yīng)用程序代碼和用戶接口內(nèi)容分離的更加結(jié)構(gòu)化的方法。引入的網(wǎng)絡(luò)表單控件用于為封裝通用用戶接口元素提供了一種機(jī)制。這些新的特點(diǎn)使得開發(fā)工具在支持vb應(yīng)用程序的同時,也支持設(shè)計時模塊,使得wysiwyg(所見即所得)工具支持網(wǎng)頁布局。

網(wǎng)絡(luò)表單控件負(fù)責(zé)生成用戶接口,典型情況是在html表單中。asp.net提供了一套映射傳統(tǒng)的html用戶接口小部件(包括列表框,文本框和按鈕)的網(wǎng)絡(luò)表單控件和一套附加的更加復(fù)雜的網(wǎng)絡(luò)控件(如日歷和廣告板)。這些控件的一個重要特點(diǎn)是,它們可以被編寫以適應(yīng)客戶端的能力;同一網(wǎng)頁把大范圍的客戶端平臺和表單因素作為目標(biāo)。換句話說,網(wǎng)絡(luò)表單控件能“探測”到正在查找表單的客戶,然后返回合適的可能是適合低級瀏覽器的html 3.2或是適于ie 5.0的動態(tài)html。

考慮到網(wǎng)絡(luò)是一種無狀態(tài)的聯(lián)接模型,網(wǎng)絡(luò)應(yīng)用程序開發(fā)人員所面臨的一個很復(fù)雜的問題是,他們要對用戶與基于網(wǎng)絡(luò)接口的交互作用作出反應(yīng)。網(wǎng)絡(luò)利用asp.net的體系架構(gòu)提供了一套豐富的服務(wù),以幫助開發(fā)人員建立交互式網(wǎng)頁。這些服務(wù)的作用是使基于組件的、事件驅(qū)動的可編程模塊,對開發(fā)人員來說,非常象客戶端的表單程序設(shè)計。用戶與網(wǎng)頁交互作用的狀態(tài)管理的復(fù)雜性被asp.net網(wǎng)絡(luò)表單和網(wǎng)絡(luò)表單控件隱藏起來了。對開發(fā)人員來說,提供的豐富數(shù)據(jù)綁定服務(wù)使得顯示通過數(shù)據(jù)訪問服務(wù)得到的數(shù)據(jù)變得非常容易。

代碼與內(nèi)容的分離使asp.net網(wǎng)頁能動態(tài)地編譯到受控類中,用以提高性能。每個引入的http請求都被傳遞到一個新的網(wǎng)頁實例,因此開發(fā)人員不需要關(guān)心代碼中的線程安全性。

2.namespace(名字空間)

對象一直是windows開發(fā)環(huán)境中,程序開發(fā)的中心。不論在vb、vba、vc++、vbscript等都是如此,不同的開發(fā)環(huán)境有不同的對象,這些對象均是各個語法所提供“資源”,程序開發(fā)人員可以利用這些資源,來編寫所需的系統(tǒng)。

在過去的asp中,僅有server、request、response……等七個對象。而在asp.net的對象庫中卻分得很細(xì)。

例如在asp.net網(wǎng)頁中要通過sql語句獲得數(shù)據(jù)庫中的數(shù)據(jù),必須使用“system.data.sql”,這是namespace(名字空間)名稱。在system.data.sql下,又有很多類(class)。每個類可視為一個對象,因為類下有屬性、方法和事件等

所以,最上層的namespace看作是同類型對象的集合,一個namespace之下可擁有多個類。它們之間的關(guān)系如圖: (圖)

3.文件類型

asp 的文件類型只有一種,其擴(kuò)展名是.asp文件。但在asp.net有很多的文件類型:

(圖)

四、asp.net的控件應(yīng)用
asp.net提供四種類型的控件,即服務(wù)器端控件、驗證控件、html控件和自定義控件,充分利用這些控件提供的功能,可以加快完成任務(wù)的速度。

1. 服務(wù)器端控件

在asp.net中,一切都是對象,web頁面本身也是一個對象。或者說,web頁面就是一個對象的容器。服務(wù)器端控件,英文是server control,就是放在這個容器里面。

什么是control?簡單地說,control就是一個可重用的組件或者對象,這個組件不但有自己的外觀,還有自己的數(shù)據(jù)和方法,大部分組件還可以響應(yīng)事件。通過微軟的集成開發(fā)環(huán)境(visual studio.net),你可以簡單地把一個control拖放到一個form中。

那為什么叫“server control”?這是因為這些control是在服務(wù)器端存在的。服務(wù)器端控件也有自己的外觀,在客戶端瀏覽器中,server control的外觀由html代碼來表現(xiàn)。server control會在初始化時,根據(jù)客戶的瀏覽器版本,自動生成適合瀏覽器的html代碼。主要的服務(wù)器端控件及其用途如下表所示:

(圖)

例1:服務(wù)器控件

id="txtlogin"

text="文字編輯"

font_face="arial" font_size="3"

backcolor="lightblue"

textmode="multiline"

heigth=10

ontextchanged="txtlogin_changed()"

/>


text="checkbox 1"

autopostback="true"

/>


repeatlayout="flow"

>

item 1

item 2

item 3

item 4

item 5

item 6

2. 驗證控件

這是用以驗證web頁面中用戶輸入信息是否有效的非常重要的一種方法。在asp.net的web from框架中提供了一套驗證控件,它們提供了強(qiáng)大易用的方式來檢查錯誤,如果需要的話可以顯示提示信息給用戶。這些控件可以分為如下表所述的幾種類型:(圖)

例2:驗證控件


controltovalidate="txtlastname"

errormessage="last name is a required field"

forecolor="red">


forecolor="red"

controltovalidate="txtdeparturedate"

controltocompare="txtarrivaldate"

type="datetime"

operator="greaterthanequal"

errormessage="departure date cannot be earlier than arrival date.">


forecolor="red"

controltovalidate="txtage"

valuetocompare=0

type="integer"

operator="greaterthanequal"

errormessage="please enter a whole number zero or greater.">


controltovalidate="text1"

errormessage="you must enter at least 8 characters!"

clientvalidationfunction="validatelength(o, v)" >

zip:


id=txtzip_validation runat="server"

controltovalidate="txtzip"

errormessage="enter a valid us zip code."

validationexpression="[0-9]{6,6}">

3. html服務(wù)器控件

html控件在服務(wù)器端是可見的,所以我們可以根據(jù)它來按照我們的意愿編寫。html控件表現(xiàn)為一些可見的控件。

html服務(wù)器控件直接對應(yīng)到html元素,每一個html服務(wù)器控件都支持通用控件的屬性和方法,它們都可以綁定到數(shù)據(jù)源上。

(圖)

例3:html控件示例:

自定義頁面控件

當(dāng)然我們也可以生成更復(fù)雜的自定義控件,在這里就不多說了,有興趣請參考asp.net的幫助文件用c#、vb.net等來編寫功能強(qiáng)大的控件,一般來說,這些控件可以編譯成為.dll文件,以供隨時使用。

五、 數(shù)據(jù)庫操作
asp.net中主要通過ado.net和dataset來完成對數(shù)據(jù)庫的操作。ado.net和asp中的ado相對應(yīng),它是ado的改進(jìn)版本。dataset是ado.net的中心概念。你可以把dataset想象成內(nèi)存中的數(shù)據(jù)庫。正是由于dataset,才使得程序員在編程序時可以屏蔽數(shù)據(jù)庫之間的差異,從而獲得一致的編程模型。dataset支持多表、表間關(guān)系、數(shù)據(jù)約束等。這些和關(guān)系數(shù)據(jù)庫的模型基本一致。過去,數(shù)據(jù)處理主要依賴于兩層結(jié)構(gòu),并且是基于連接的。連接斷開,數(shù)據(jù)就不能再存取。現(xiàn)在,數(shù)據(jù)處理被延伸到三層以上的結(jié)構(gòu),相應(yīng)地,程序員需要切換到無連接的應(yīng)用模型。這樣,datasetcommand就在ado.net中扮演了極其重要的角色。它可以取回一個dataset,并維護(hù)一個數(shù)據(jù)源和dataset之間的“橋”,以便于數(shù)據(jù)的訪問、修改和保存。datasetcommand自動將數(shù)據(jù)的各種操作變換到數(shù)據(jù)源相關(guān)的合適的sql語句。

ado.net訪問數(shù)據(jù)庫的步驟是:

(1)創(chuàng)建一個數(shù)據(jù)庫鏈接;

(2)請求一個記錄集合;

(3)將記錄集合暫存到dataset;

(4)如果需要,返回第2步;(dataset可容納多個數(shù)據(jù)集合)

(5)關(guān)閉數(shù)據(jù)庫鏈接;

(6)在dataset上作所需要的操作。

dataset在內(nèi)部是用xml來描述數(shù)據(jù)的。由于xml是一種與平臺無關(guān)、語言無關(guān)的數(shù)據(jù)描述語言,而且可以描述復(fù)雜數(shù)據(jù)關(guān)系的數(shù)據(jù),比如父子關(guān)系的數(shù)據(jù),所以dataset實際上可以容納具有復(fù)雜關(guān)系的數(shù)據(jù),而且不再依賴于數(shù)據(jù)庫鏈接。

我們以一個非常簡短的例子來說明數(shù)據(jù)庫的連接、檢索,更多的操作如增加、刪除、修改等請參考asp.net文檔。

例:數(shù)據(jù)庫連接、檢索
asp.net的功能還有很多,這里介紹的只是它的一些基礎(chǔ)功能,高級一些的功能如web應(yīng)用程序、web service、性能優(yōu)化、xml集成、三層結(jié)構(gòu)和消息隊列msmq等需要你去參考相應(yīng)的專業(yè)書籍以作全面了解、掌握。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 比如县| 台安县| 西昌市| 新余市| 上饶市| 虞城县| 绥芬河市| 达孜县| 康定县| 开江县| 峨边| 海伦市| 蓝田县| 邵东县| 白山市| 甘泉县| 青铜峡市| 阳朔县| 育儿| 松溪县| 渝北区| 阜新| 金湖县| 兴宁市| 彝良县| 佛教| 昌江| 武强县| 合肥市| 启东市| 肇州县| 苏尼特右旗| 呼伦贝尔市| 滁州市| 裕民县| 寿光市| 河源市| 商水县| 绥芬河市| 万载县| 绥芬河市|