ASP.NET編程入門解析
安裝運(yùn)行.NET需要的軟件
我這里推薦一本書:《beginning asp.net 1.1with vb.net 2003》就是《asp.net 1.1入門經(jīng)典--vb.net2003編程篇》這本書講的很不錯,適合初學(xué)者。
個人基礎(chǔ):asp基本掌握,c++基本掌握;
電腦配置:6.5G硬盤+128M內(nèi)存,其他設(shè)備都是類似的配置+windows2000;
軟件要求吧:
1、MDAC 2.7(微軟數(shù)據(jù)庫引擎)大約5.01M;
2、Microsoft.NET framework1.1大約23.1M,比這大正常,版本問題吧;
3、NET_Framework_SDK_1.1_CHS大約116M.和這大小差不多;
你要問那里下載的話就在google輸入以上英文,對應(yīng)的很多,自己選擇,然后按照1-2-3的順序安裝,安裝完畢了在控制面板---管理工具--生成Microsoft .NET Framework 1.1 Configuration和 Microsoft .NET Framework 1.1 Wizards,這說明你的,net服務(wù)器的環(huán)境已經(jīng)配置的差不多了,如果你感到你的計(jì)算機(jī)很不錯的話就裝上,就裝上Visual Studio 2005 Express 先奢侈一下吧,如果你想咱們快寫進(jìn)行,就裝上webmatrix 就行了,它大約1.1M,asp.net在web服務(wù)器IIS下運(yùn)行的,也可以在webmatrix下運(yùn)行的,安裝這些完畢了(我假定你已經(jīng)裝了至少很我一樣多的東西,webmatrix你也安裝了)。
現(xiàn)在好像沒什么要我們操心的了,啟動webmatrix,會彈出:
ASP.NET編程入門的第一步就是創(chuàng)建新文件:
1、絕對本地路徑,你自己選;
2、名稱你自己寫;
3、language:visual basic.net ;
c#的過短時間我仔細(xì)看看怎么轉(zhuǎn)變,再說,這種軟件你應(yīng)該很熟悉了,點(diǎn)擊ok了進(jìn)入編寫區(qū):
編輯區(qū)下面的4個選項(xiàng):Design / html / code all
design是可視化設(shè)計(jì) / html是可視化生成的html代碼 / code是.net將要運(yùn)行的代碼 ,它其有3中插入方式:
1、內(nèi)聯(lián)代碼〈%%〉
2、〈script〉標(biāo)記
3、服務(wù)器控件
現(xiàn)在就在all視圖下寫入一下源碼:
- 〈%@ Page Language="VB" %〉
- 〈script runat="server"〉
- sub page_load()
- start.text="we study asp.net on this site."
- end sub
- 〈/script〉
- 〈html〉
- 〈head〉
- 〈/head〉
- 〈body〉
- 〈form runat="server"〉
- 〈asp:label id="start" runat="server" /〉
- 〈/form〉
- 〈/body〉
- 〈/html〉
然后保存,點(diǎn)擊上邊的中間的圖標(biāo),完成我們ASP.NET編程入門程序。
看路徑確定,它將啟動webmatrix,然后轉(zhuǎn)到 http://localhost:8080 下面,同時你的電腦右邊彈出一個很酷的提示框,大體說.net服務(wù)已經(jīng)啟動,你在瀏覽器中將看到:
we study asp.net on this site.
這說明了2件事情:
1、你的.NET服務(wù)器配置好了,就等你寫代碼了;
2、你很聰明的操作了,net的安裝過程了;
當(dāng)然,如果你已經(jīng)安裝了IIS的話就可以在瀏覽器中輸入網(wǎng)址就像打開asp文件那樣可以打開aspx文件的并運(yùn)行之了,這是令人興奮的。
如果你要修改默認(rèn)新的web根目錄.請看這篇文章:使用 IIS 創(chuàng)建ASP.NET編程入門應(yīng)用程序根目錄
前言:當(dāng)你就像我想象的那樣安裝.net完畢的話,今天也許你躍躍欲試的想馬上操作數(shù)據(jù)庫...編輯...頁面生成.....等了,你在ASP里面熟悉的操作都想用.net搞定.那我先要買個關(guān)子,你也許已經(jīng)有了VB的基礎(chǔ)了,也許asp熟練掌握了....如果你認(rèn)為.net的變量你不看規(guī)則不太習(xí)慣的話,還是有必要靜下心來,先看看.net(vb)中是如何操作的,其實(shí)是大同小異的,另外控件大家想必知道,〈input type="text"〉這就是html中的控件,正因?yàn)橛辛诉@些東西so程序員才能收集信息反饋顯示.....,下面我簡要的介紹一下,其實(shí)我也感覺沒有必要把每個控件的屬性都知道的,如果你感興趣的話在webmatrix的視圖里面隨便拉個左邊的就去看看源碼就知道這是什么控件了,我就隨便說說幾個非常常用的,這寫介紹你可以不看的,只看變量就行的。
控件
現(xiàn)看看控件吧,所有的web控件都必須有2個屬性,第一個當(dāng)然就是ranat="server",它告訴asp.net在服務(wù)器上處理控件,并為控件執(zhí)行所有的asp.net的功能,包括狀態(tài)的創(chuàng)建.第二個屬性是名稱ID="mycontrolname"這就像人的身份證一樣,在代碼中指定名稱,引用該控件,看看這個asp.net和html窗口標(biāo)記府的比較,表格來自上面書籍的P56頁,但不全。
- asp.net控件 對應(yīng)的html窗口標(biāo)記
- 〈asp:label〉 〈span〉〈div〉
- 〈asp:listbox〉 〈select〉列表
- 〈asp:Dropdownlist〉 〈select〉單選
- 〈asp:textbox〉 〈input type="text"〉
- 〈asp:radiobuttom〉〈asp:radiobuttomlist〉
- 〈input type="redio"〉
- 〈asp:checkbox〉〈asp:checkboxlist〉
- 〈input type="checkbox"〉
- 〈asp:buttom〉 〈input type="submit"〉
大概就是這幾個比較常用,發(fā)現(xiàn)沒asp.net的控件都是類型前面有
- 〈 %@ Page Language="VB" % 〉
- 〈 script runat="server" 〉
- ' Insert page code here
- '
- 〈 /script 〉
- 〈 html 〉
- 〈 head 〉
- 〈 /head 〉
- 〈 body 〉
- 〈 form runat="server" 〉
- 〈 asp:Label id="labs" runat="server" 〉Label
- 〈 /asp:Label 〉
- 〈 BR/ 〉〈 INPUT NAME="html" / 〉
- 〈 !-- Insert content here -- 〉
- 〈 /form 〉
- 〈 /body 〉
- 〈 /html 〉
- 在服務(wù)其上運(yùn)行生成的文件源碼是:
- 〈 html 〉
- 〈 head 〉
- 〈 /head 〉
- 〈 body 〉
- 〈 form name="_ctl0" method="post"
- action="p56.aspx" id="_ctl0" 〉
- 〈 input type="hidden" name="__VIEWSTATE" value="
- dDwtMTU3ODAzNTQ4MDs7Pv3wu7xxzJOPloshG4oWx/rQLw6S" / 〉
- 〈 span id="labs" 〉Label〈 /span 〉
- 〈 BR/ 〉〈 INPUT NAME="html" / 〉
- 〈 !-- Insert content here -- 〉
- 〈 /form 〉
- 〈 /body 〉
- 〈 /html 〉
另外,ASP.NET的控件被ASP.NET添加了name的額外標(biāo)記符,value值也是變?yōu)橐粋€很難認(rèn)識的字符串,這個value值........我也看不懂,但這不影響任何事情。
昨天我用了一個page_load事件控制label的text屬性的,page_load是加載aspx文件.net先解釋的事件,這就和window.onload差不多吧,以后慢慢說.看看它是怎么控制的:
- sub page_load()
- message1.text="i am message1"
- message2.text="i am message2"
- end sub
這就加載了message1的text顯示為i am message1,這就是一個簡單的.net里面的web控件。
另外,再看看〈asp:Dropdownlist〉控件吧。啟動webmatrix,創(chuàng)建一個新文件p56.aspx,選擇design視圖,然后在左邊選擇dropdownlist控件:
把它選中用鼠標(biāo)拉到界面上,就像DM里面一樣的.單擊,然后在右邊選擇:
Items,它控制的是下拉選項(xiàng)項(xiàng)目,點(diǎn)擊最右邊的幾個小點(diǎn)點(diǎn)..
彈出的對話框中選add,在寫上選項(xiàng)名稱id,value,點(diǎn)擊Ok。
同理添加一個submit按鈕,在properties里面設(shè)置一下背景,邊框呀什么的,然后啟動狀態(tài)欄中間的箭頭按鈕在瀏覽器中看看,效果:
是不是很酷?不急,還沒有完,選all視圖,
- 在〈script runat="server" 〉:
- 〈script runat="server" 〉
- sub page_load()
- if page.ispostback then
- message.text="you choice the web site
- of:"+dropdownlist1.selecteditem.value
- end if
- end sub
下面添加一個sub事件相應(yīng)按鈕選項(xiàng),如果頁面已經(jīng)提交ispostback就返回true,否則返回false。當(dāng)然也要添加一個label,id命名為message,okok,現(xiàn)在看看效果:
嗯,它就是這樣相應(yīng)的,看看所有的這個源碼:
運(yùn)行代碼框
- <%@ Page Language="VB" %>
在vbscript里面,只有一個基本數(shù)據(jù)類型,就是variant,而且不區(qū)分大小寫,它的變量聲名有兩種方式:顯式和隱式
在vb.net里面,是有些不同的:
變量是允許在內(nèi)存中存儲信息,才可以執(zhí)行一些數(shù)學(xué)函數(shù),處理文本,執(zhí)行其他函數(shù)等操作,變量是內(nèi)存中的一個空間,一般都會被指明名稱和數(shù)據(jù)類型的。
VB.NET是一種強(qiáng)類型的語言,so任何變量都必須有數(shù)據(jù)類型,它有4個部分:名稱、內(nèi)存空間、數(shù)據(jù)類型、變量的值。
使用變量時,最好明確創(chuàng)建或者聲名,最簡單的就是用關(guān)鍵字dim(dimension)的縮寫,dim strmy ,這在無形中做了3件事:建立變量的名稱、指定了類型、在內(nèi)存中分配了一塊空間,在變量賦值之前,內(nèi)存中什么也不包含的。
ISnothing(srtmy)可以檢查變量是否包含值,如果變量為空,ISNothing(strmy)就返回True,如果變量不是空,就返回False。
請不要違背以下三個原則命名變量:
1、必須以字母開頭;
2、不能包含內(nèi)嵌的句號/停頓或者空格;
3、不能與VB.NET的保留字相同;
就像下面這樣命名:
- dim strmy as string
- strmy="5do8"
- dim strmy2 as string="5do8"
等技巧和vbscript里面類似的,慢慢掌握吧。
#p#
數(shù)據(jù)類型
vb.net里面有12中不同的內(nèi)置數(shù)據(jù)類型,可以官方的分為3大類:數(shù)字類型、文本型、其他類型
數(shù)字類型:
1、integer(整形)(范圍在20億左右),如0,12,98都是整型的;
2、byte(字節(jié))(范圍在0-255,無負(fù)數(shù)),由于它在計(jì)算機(jī)只存儲一個字節(jié),速度很快,特cool;
3、short(短整型)(范圍在-32768到32767);
4、long(長整型)(很長);
5、single(單精度),可帶小數(shù)部分的;
6、Double(雙精度);
7、Decimal(小數(shù))(最多28位小數(shù));
選擇定義的時候要恰到好處,不要浪費(fèi)內(nèi)存。
文本型:
1、string(字符串);
2、char(字符)學(xué)過c++的都知道的,將文本以數(shù)的形式存儲.范圍是0-65535,
定義的時候雙引號后面用C來表示這是個char變量,而不是string ;
其他類型
1、Date(日期型);
2、boolean(布爾型) false-(0)和true(其他數(shù)字);
有時候希望變量賦值以后,在執(zhí)行過程中值保持不變,用常量const :const Asints as integer =-255
修改常量的值是不被支持的。
vb.net還提供了一系列以c開頭的轉(zhuǎn)換函數(shù),例如cint()等,很有用,慢慢在實(shí)踐中就體會到了。
聲名數(shù)組:
和其他變量一樣,數(shù)組在使用前也要用關(guān)鍵在dim聲明的,在聲明的時候末尾還要加上另外一個參數(shù),以指定數(shù)組的大小,然后可以存儲最大索引值+1了,看看一個例子:啟動webmatrix,創(chuàng)建新文件P87.aspx,在code視圖中,寫入:
- sub page_load()
- if ispostback then
- dim darr(4) as string
- darr(0)="www.blueidea.com"
- darr(1)="www.5do8.com"
- darr(2)="www.dw8.cn"
- darr(3)="www.google.com"
- darr(4)="www.usst.edu.cn"
- labtxt.text="your aaary is " & darr
- (txtnum.text)
- labtxt.visible=true
- end if
- end sub
- 在視圖中插入label,buttom,input標(biāo)簽,
- 最后的源碼就是:
- 〈%@ Page Language="VB" %〉
- 〈script runat="server"〉
- sub page_load()
- if ispostback then
- dim darr(4) as string
- darr(0)="www.blueidea.com"
- darr(1)="www.5do8.com"
- darr(2)="www.dw8.cn"
- darr(3)="www.google.com"
- darr(4)="www.usst.edu.cn"
- labtxt.text="your aaary is " & darr(txtnum.text)
- labtxt.visible=true
- end if
- end sub
- 〈/script〉
- 〈html〉
- 〈head〉
- 〈/head〉
- 〈body〉
- 〈form runat="server"〉
- 〈p〉
- 〈asp:TextBox id="txtnum" runat="server"
- BackColor="#E0E0E0" BorderColor="#C0FFC0"〉
- 〈/asp:TextBox〉
- 〈asp:Button id="Button1" runat="server"
- BackColor="#E0E0E0" BorderColor="Green"
- Text="submit to array" BorderStyle="Groove"〉
- 〈/asp:Button〉
- 〈/p〉
- 〈p〉
- 〈asp:Label id="Labtxt" runat="server" BackColor="#004040"
- BorderColor="Silver" Visible="False" Width="240px"
- Height="28px" ForeColor="White"〉
- 〈/asp:Label〉
- 〈/p〉
- 〈!-- Insert content here --〉
- 〈/form〉
- 〈/body〉
- 〈/html〉
效果:
然后運(yùn)行,輸入數(shù)據(jù),顯示數(shù)組的值,注意這里不要輸入0-4以為的數(shù)字,負(fù)責(zé)就是越界,這在后面我們要控制的,這里只是演示數(shù)組而已。
多維數(shù)組和vbscript里面的及其相似,其他定義和數(shù)組一樣,就多了維數(shù).
數(shù)據(jù)集合
通常需要用不同的方法將項(xiàng)分組,這些高級技術(shù)在VB.NET中稱為集合,包括了arraylist、hashtable、sortedlist,集合的特性如下:
1、集合可以包含不定數(shù)目的成員;
2、集合中的元素僅僅因?yàn)樗麄兲幱谙嗤募喜虐l(fā)生關(guān)系;
3、集合的元素不必共享相同的數(shù)據(jù)類型;
4、當(dāng)整個集合發(fā)生變動時,對象在集合的位置也可以改變;
理解集合就像理解鏈表那樣理解吧。
以后用到的時候就說說,很有意思的,如果你現(xiàn)在就想知道他們屬性的話去MSDN的ASP.NET編程入門查查資料。
【編輯推薦】