ASP.NET編程入門解析
安裝運行.NET需要的軟件
我這里推薦一本書:《beginning asp.net 1.1with vb.net 2003》就是《asp.net 1.1入門經典--vb.net2003編程篇》這本書講的很不錯,適合初學者。
個人基礎:asp基本掌握,c++基本掌握;
電腦配置:6.5G硬盤+128M內存,其他設備都是類似的配置+windows2000;
軟件要求吧:
1、MDAC 2.7(微軟數據庫引擎)大約5.01M;
2、Microsoft.NET framework1.1大約23.1M,比這大正常,版本問題吧;
3、NET_Framework_SDK_1.1_CHS大約116M.和這大小差不多;
你要問那里下載的話就在google輸入以上英文,對應的很多,自己選擇,然后按照1-2-3的順序安裝,安裝完畢了在控制面板---管理工具--生成Microsoft .NET Framework 1.1 Configuration和 Microsoft .NET Framework 1.1 Wizards,這說明你的,net服務器的環境已經配置的差不多了,如果你感到你的計算機很不錯的話就裝上,就裝上Visual Studio 2005 Express 先奢侈一下吧,如果你想咱們快寫進行,就裝上webmatrix 就行了,它大約1.1M,asp.net在web服務器IIS下運行的,也可以在webmatrix下運行的,安裝這些完畢了(我假定你已經裝了至少很我一樣多的東西,webmatrix你也安裝了)。
現在好像沒什么要我們操心的了,啟動webmatrix,會彈出:
ASP.NET編程入門的第一步就是創建新文件:
1、絕對本地路徑,你自己選;
2、名稱你自己寫;
3、language:visual basic.net ;
c#的過短時間我仔細看看怎么轉變,再說,這種軟件你應該很熟悉了,點擊ok了進入編寫區:
編輯區下面的4個選項:Design / html / code all
design是可視化設計 / html是可視化生成的html代碼 / code是.net將要運行的代碼 ,它其有3中插入方式:
1、內聯代碼〈%%〉
2、〈script〉標記
3、服務器控件
現在就在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〉
然后保存,點擊上邊的中間的圖標,完成我們ASP.NET編程入門程序。
看路徑確定,它將啟動webmatrix,然后轉到 http://localhost:8080 下面,同時你的電腦右邊彈出一個很酷的提示框,大體說.net服務已經啟動,你在瀏覽器中將看到:
we study asp.net on this site.
這說明了2件事情:
1、你的.NET服務器配置好了,就等你寫代碼了;
2、你很聰明的操作了,net的安裝過程了;
當然,如果你已經安裝了IIS的話就可以在瀏覽器中輸入網址就像打開asp文件那樣可以打開aspx文件的并運行之了,這是令人興奮的。
如果你要修改默認新的web根目錄.請看這篇文章:使用 IIS 創建ASP.NET編程入門應用程序根目錄
前言:當你就像我想象的那樣安裝.net完畢的話,今天也許你躍躍欲試的想馬上操作數據庫...編輯...頁面生成.....等了,你在ASP里面熟悉的操作都想用.net搞定.那我先要買個關子,你也許已經有了VB的基礎了,也許asp熟練掌握了....如果你認為.net的變量你不看規則不太習慣的話,還是有必要靜下心來,先看看.net(vb)中是如何操作的,其實是大同小異的,另外控件大家想必知道,〈input type="text"〉這就是html中的控件,正因為有了這些東西so程序員才能收集信息反饋顯示.....,下面我簡要的介紹一下,其實我也感覺沒有必要把每個控件的屬性都知道的,如果你感興趣的話在webmatrix的視圖里面隨便拉個左邊的就去看看源碼就知道這是什么控件了,我就隨便說說幾個非常常用的,這寫介紹你可以不看的,只看變量就行的。
控件
現看看控件吧,所有的web控件都必須有2個屬性,第一個當然就是ranat="server",它告訴asp.net在服務器上處理控件,并為控件執行所有的asp.net的功能,包括狀態的創建.第二個屬性是名稱ID="mycontrolname"這就像人的身份證一樣,在代碼中指定名稱,引用該控件,看看這個asp.net和html窗口標記府的比較,表格來自上面書籍的P56頁,但不全。
- asp.net控件 對應的html窗口標記
- 〈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"〉
大概就是這幾個比較常用,發現沒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 〉
- 在服務其上運行生成的文件源碼是:
- 〈 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的額外標記符,value值也是變為一個很難認識的字符串,這個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,創建一個新文件p56.aspx,選擇design視圖,然后在左邊選擇dropdownlist控件:
把它選中用鼠標拉到界面上,就像DM里面一樣的.單擊,然后在右邊選擇:
Items,它控制的是下拉選項項目,點擊最右邊的幾個小點點..
彈出的對話框中選add,在寫上選項名稱id,value,點擊Ok。
同理添加一個submit按鈕,在properties里面設置一下背景,邊框呀什么的,然后啟動狀態欄中間的箭頭按鈕在瀏覽器中看看,效果:
是不是很酷?不急,還沒有完,選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事件相應按鈕選項,如果頁面已經提交ispostback就返回true,否則返回false。當然也要添加一個label,id命名為message,okok,現在看看效果:
嗯,它就是這樣相應的,看看所有的這個源碼:
運行代碼框
- <%@ Page Language="VB" %>
在vbscript里面,只有一個基本數據類型,就是variant,而且不區分大小寫,它的變量聲名有兩種方式:顯式和隱式
在vb.net里面,是有些不同的:
變量是允許在內存中存儲信息,才可以執行一些數學函數,處理文本,執行其他函數等操作,變量是內存中的一個空間,一般都會被指明名稱和數據類型的。
VB.NET是一種強類型的語言,so任何變量都必須有數據類型,它有4個部分:名稱、內存空間、數據類型、變量的值。
使用變量時,最好明確創建或者聲名,最簡單的就是用關鍵字dim(dimension)的縮寫,dim strmy ,這在無形中做了3件事:建立變量的名稱、指定了類型、在內存中分配了一塊空間,在變量賦值之前,內存中什么也不包含的。
ISnothing(srtmy)可以檢查變量是否包含值,如果變量為空,ISNothing(strmy)就返回True,如果變量不是空,就返回False。
請不要違背以下三個原則命名變量:
1、必須以字母開頭;
2、不能包含內嵌的句號/停頓或者空格;
3、不能與VB.NET的保留字相同;
就像下面這樣命名:
- dim strmy as string
- strmy="5do8"
- dim strmy2 as string="5do8"
等技巧和vbscript里面類似的,慢慢掌握吧。
#p#
數據類型
vb.net里面有12中不同的內置數據類型,可以官方的分為3大類:數字類型、文本型、其他類型
數字類型:
1、integer(整形)(范圍在20億左右),如0,12,98都是整型的;
2、byte(字節)(范圍在0-255,無負數),由于它在計算機只存儲一個字節,速度很快,特cool;
3、short(短整型)(范圍在-32768到32767);
4、long(長整型)(很長);
5、single(單精度),可帶小數部分的;
6、Double(雙精度);
7、Decimal(小數)(最多28位小數);
選擇定義的時候要恰到好處,不要浪費內存。
文本型:
1、string(字符串);
2、char(字符)學過c++的都知道的,將文本以數的形式存儲.范圍是0-65535,
定義的時候雙引號后面用C來表示這是個char變量,而不是string ;
其他類型
1、Date(日期型);
2、boolean(布爾型) false-(0)和true(其他數字);
有時候希望變量賦值以后,在執行過程中值保持不變,用常量const :const Asints as integer =-255
修改常量的值是不被支持的。
vb.net還提供了一系列以c開頭的轉換函數,例如cint()等,很有用,慢慢在實踐中就體會到了。
聲名數組:
和其他變量一樣,數組在使用前也要用關鍵在dim聲明的,在聲明的時候末尾還要加上另外一個參數,以指定數組的大小,然后可以存儲最大索引值+1了,看看一個例子:啟動webmatrix,創建新文件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標簽,
- 最后的源碼就是:
- 〈%@ 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〉
效果:
然后運行,輸入數據,顯示數組的值,注意這里不要輸入0-4以為的數字,負責就是越界,這在后面我們要控制的,這里只是演示數組而已。
多維數組和vbscript里面的及其相似,其他定義和數組一樣,就多了維數.
數據集合
通常需要用不同的方法將項分組,這些高級技術在VB.NET中稱為集合,包括了arraylist、hashtable、sortedlist,集合的特性如下:
1、集合可以包含不定數目的成員;
2、集合中的元素僅僅因為他們處于相同的集合才發生關系;
3、集合的元素不必共享相同的數據類型;
4、當整個集合發生變動時,對象在集合的位置也可以改變;
理解集合就像理解鏈表那樣理解吧。
以后用到的時候就說說,很有意思的,如果你現在就想知道他們屬性的話去MSDN的ASP.NET編程入門查查資料。
【編輯推薦】