WebMatrix開發(fā)ASP.NET試用手記
發(fā)表時(shí)間:2024-06-18 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]前言 無可否認(rèn),Microsoft的重量級開發(fā)工具Visual Studio.NET確實(shí)為我們提供了一個(gè)非常強(qiáng)大、優(yōu)秀的.NET應(yīng)用系統(tǒng)集成開發(fā)環(huán)境。但是,使用VS.NET也要面對一些問題,比如:VS.NET要付費(fèi)(當(dāng)然D版另當(dāng)別論),VS.NET安裝比較麻煩,VS.NET占用空間很大,對機(jī)器要...
前言
無可否認(rèn),Microsoft的重量級開發(fā)工具Visual Studio.NET確實(shí)為我們提供了一個(gè)非常強(qiáng)大、優(yōu)秀的.NET應(yīng)用系統(tǒng)集成開發(fā)環(huán)境。但是,使用VS.NET也要面對一些問題,比如:VS.NET要付費(fèi)(當(dāng)然D版另當(dāng)別論),VS.NET安裝比較麻煩,VS.NET占用空間很大,對機(jī)器要求也較高。因此,采用VS.NET來開發(fā)要付出比較高昂的使用成本,只有應(yīng)用于大型的系統(tǒng)開發(fā)才有較好的性效比。
如果僅僅只是要進(jìn)行中小型的基于ASP.NET的Web應(yīng)用系統(tǒng)開發(fā)的話,是否一定要用強(qiáng)大而昂貴的Visual Studio.NET呢?
答案是否定的。最近Microsoft為開發(fā)者提供了一款免費(fèi)的小巧易用的開發(fā)ASP.NET工具,這就是WebMatrix。
圖1:http://www.asp.net/WebMatrix
圖1是WebMatrix項(xiàng)目的主頁,WebMatrix起源于2000年12月,微軟的工程師完全采用.NET Framework和C#語言開發(fā)的一款免費(fèi)的輕量級ASP.NET快速開發(fā)工具,可以方便快捷的完成Web應(yīng)用系統(tǒng)的開發(fā)。
WebMatrix最突出的特點(diǎn)就是小巧靈活,整個(gè)安裝文件不過1.3M左右,安裝后全部大小也不過2.8M左右,使用它只需基本的.NET Framework支持就可以了,甚至不需要安裝IIS,因?yàn)閃ebMatrix自帶了一個(gè)Microsoft ASP.NET Web Matrix Server,可以發(fā)布、運(yùn)行ASP.NET應(yīng)用程序。
走近WebMatrix
l) 安裝WebMatrix
WebMatrix目前可以支持的操作系統(tǒng)是Windows 2000和Windows XP,可以從http://www.asp.net/webmatrix/免費(fèi)下載。
安裝WebMatrix之前必須先裝好Microsoft .NET Framework 1.1和Internet Expleror 5.5以上版本。安裝過程是傻瓜式的,只管一路"Next"就行了。安裝好后運(yùn)行可以看到WebMatrix的主界面如圖2所示。其界面布局與VS.NET有點(diǎn)類似,上部是菜單/工具條,左邊是工具箱,提供開發(fā)ASP.NET所需的各種控件工具,右邊是工作區(qū)管理欄和屬性欄,分別用于文件/數(shù)據(jù)的管理和控件屬性的配置,中間是主工作區(qū)。
圖2:WebMatrix主界面
2) 第一個(gè)ASP.NET程序Hello WebMatrix!
首先我們來創(chuàng)建第一個(gè)ASP.NET程序,從File菜單新建一個(gè)文件,可以看到一個(gè)新建文件對話框(圖3)。
圖3:新建文件對話框
WebMatrix與VS.NET的一個(gè)很大不同之處是WebMatrix是基于文件來進(jìn)行開發(fā)管理的,而不是象VS.NET那樣基于項(xiàng)目(Project)來管理。這跟WebMatrix主要面對的開發(fā)項(xiàng)目是中小型項(xiàng)目有關(guān)系,小型項(xiàng)目開發(fā)相對比較簡單,管理沒有那么復(fù)雜,WebMatrix自身的定位只是一個(gè)輕量級的開發(fā)工具。
從打開的新建文件對話框中可以看到WebMatrix支持新建多種類型的文件,包括.aspx、.sql、.cs、.xml文件等,可以支持三種典型的.NET應(yīng)用開發(fā)語言--C#、J#、Visual Basic.NET。選擇缺省的ASP.NET Page,并輸入要創(chuàng)建的文件名HelloWebMatrix.aspx,選擇C#為編程語言,即可創(chuàng)建一個(gè)空白ASPX頁面文件。
WebMatrix為每個(gè)ASP.NET文件窗口提供了四種視圖,分別是設(shè)計(jì)視圖(Design),靜態(tài)代碼視圖(HTML),動態(tài)代碼視圖(Code)和全局視圖(All),缺省顯示的是設(shè)計(jì)視圖。
從左邊的工具箱中的Web Controls欄中選擇Button控件拖放到頁面設(shè)計(jì)視圖上,可以看到一個(gè)Button控件顯示在視圖中,在屬性欄中將其Text屬性修改為"問候!",可以看到按鈕上的文本隨之變?yōu)?問候!",如圖4所示。從界面右下區(qū)域的屬性欄中可以看到該控件的缺省名稱為Button1。
圖4:在視圖區(qū)添加"問候!"按鈕
這樣HelloWebMatrix程序的可視化編輯就完成了,然后開始編輯代碼。
雙擊視圖區(qū)中的"問候!"按鈕,可以看到頁面視圖區(qū)由Design視圖轉(zhuǎn)到了Code視圖,WebMatrix自動為按鈕Button1的Click事件創(chuàng)建了一個(gè)函數(shù)--void Button1_Click(object sender, EventArgs e),函數(shù)體尚無內(nèi)容。在函數(shù)體中添入一行代碼:
"Button1.Text = "Hello WebMatrix!"
整個(gè)開發(fā)過程就完成了,如圖5所示。
圖5:為按鈕Click事件添加處理代碼
點(diǎn)擊工具條上的運(yùn)行按鈕運(yùn)行程序,可以看到WebMatrix彈出一個(gè)對話框,詢問是采用IIS還是自帶的Web Matrix Server來運(yùn)行程序,如果機(jī)器上沒有安裝IIS,可以選擇其缺省的Web Matrix Server,在端口號中輸入一個(gè)本機(jī)空閑的端口號,比如8000,點(diǎn)擊Start按鈕即開始運(yùn)行,如圖6所示。
圖6:選擇ASP.NET應(yīng)用程序的運(yùn)行服務(wù)器
運(yùn)行過程中首先啟動了Web Matrix Server(可以看到Windows系統(tǒng)托盤區(qū)出現(xiàn)了一個(gè)圖標(biāo)),然后從彈出瀏覽器窗口中可以看到運(yùn)行結(jié)果--頁面上出現(xiàn)一個(gè)"問候"按鈕,點(diǎn)擊該按鈕后按鈕上的文本變?yōu)?Hello WebMatrix!",如圖7所示。
圖7:HelloWebMatrix程序運(yùn)行效果
開發(fā)數(shù)據(jù)庫訪問程序
動態(tài)網(wǎng)頁開發(fā)中最常見的恐怕就是開發(fā)數(shù)據(jù)庫訪問程序。WebMatrix為開發(fā)ASP.NET數(shù)據(jù)庫訪問程序提供了很好的支持。觀察一下WebMatrix主界面右上區(qū)域的工作區(qū)管理欄(Workspace),會發(fā)現(xiàn)在Workspace標(biāo)簽頁的旁邊還有一個(gè)Data標(biāo)簽頁,這里還提供了一個(gè)數(shù)據(jù)欄(Data) ,點(diǎn)擊Data標(biāo)簽頁就進(jìn)入了數(shù)據(jù)窗口(Data),如圖8所示。
圖8:數(shù)據(jù)窗口
開發(fā)數(shù)據(jù)庫訪問程序首先要建立數(shù)據(jù)庫連接,點(diǎn)擊數(shù)據(jù)窗口中的添加數(shù)據(jù)庫連接按鈕,可以看到添加新數(shù)據(jù)庫連接項(xiàng)目窗口,如圖9所示。
圖9:添加數(shù)據(jù)庫連接
WebMatrix可以支持Access數(shù)據(jù)庫,也可以支持SQL Server/MSDE數(shù)據(jù)庫/桌面引擎,如果是后者的話,可以得到更好的支持,在這里為簡便起見,可以選擇Access Database,點(diǎn)擊OK,從彈出的對話框中選擇一個(gè)Access數(shù)據(jù)庫,比如Access自帶的Sample數(shù)據(jù)庫:家庭成員地址數(shù)據(jù)庫文件ADDRBOOK.MDB,點(diǎn)擊OK后可以看到WebMatrix已經(jīng)在數(shù)據(jù)窗口中建好了一個(gè)數(shù)據(jù)庫連接,從中可以看到數(shù)據(jù)庫中的數(shù)據(jù)表,如圖10所示。
圖10:一個(gè)建立好的數(shù)據(jù)連接
建好了數(shù)據(jù)庫連接后,剩下來的事情就簡單了,新建一個(gè)ASP.NET程序文件DataBaseAccess.aspx,然后在數(shù)據(jù)窗口中選擇一個(gè)數(shù)據(jù)表(比如"家庭成員"表)拖放到頁面設(shè)計(jì)視圖上,可以看到頁面上自動建立了一個(gè)MxDataGrid控件和一個(gè)AccessDataSourceControl控件,并自動完成了數(shù)據(jù)集的關(guān)聯(lián),如圖11所示。
圖11:拖放一個(gè)數(shù)據(jù)表到頁面設(shè)計(jì)視圖區(qū)后的效果
此時(shí)已經(jīng)完成了一個(gè)具有基本的數(shù)據(jù)顯示功能的數(shù)據(jù)庫訪問程序的開發(fā)。點(diǎn)擊運(yùn)行按鈕運(yùn)行程序,可以看到頁面的顯示效果--頁面上顯示出一張有關(guān)家庭成員信息的數(shù)據(jù)表,可以看到這個(gè)數(shù)據(jù)表還進(jìn)行了自動分頁顯示處理,在表格的最后一行是數(shù)據(jù)分頁顯示的頁碼鏈接,用鼠標(biāo)點(diǎn)擊表格的表頭各列,表中數(shù)據(jù)可以自動按照該列排序顯示,這樣的數(shù)據(jù)表已經(jīng)可以滿足一般的頁面數(shù)據(jù)顯示需要,而此時(shí)你甚至還沒有編寫一行代碼。
圖12:DataBaseAccess程序運(yùn)行效果
作為一個(gè)數(shù)據(jù)庫訪問程序,僅僅有數(shù)據(jù)顯示功能當(dāng)然是不夠的,還需要加上一些基本的增、刪、改等交互功能,下面我們?yōu)镈ataBaseAccess程序加入數(shù)據(jù)查詢功能。
回到頁面設(shè)計(jì)視圖,從工具箱中將WebControls欄中的TextBox和Button拖放到頁面設(shè)計(jì)視圖上,將Button的"Text"屬性設(shè)為"查詢",再將一個(gè)DataGrid控件拖放到下一行,如圖13所示?梢钥吹竭@幾個(gè)控件的名字被缺省設(shè)定為TextBox1、DataGrid1、Button1。
圖13:添加查詢文本框和按鈕
此時(shí)程序的頁面可視化設(shè)計(jì)就完成了,接下來實(shí)現(xiàn)一個(gè)按照用戶在文本框中輸入的成員姓氏查詢成員信息的功能(刪除、修改功能可以以類似方式實(shí)現(xiàn))。
在頁面視圖區(qū)中點(diǎn)擊底部的Code標(biāo)簽頁 ,頁面視圖區(qū)轉(zhuǎn)到了Code視圖,可以看到WebMatrix界面左邊的工具箱中出現(xiàn)了代碼向?qū)В–ode Wizard)一欄,如圖14所示。
圖14:代碼向?qū)?br>
可以看到"代碼向?qū)?提供了幾種基本的數(shù)據(jù)操作(比如SELECT、INSERT、DELETE、UPDATE等)代碼向?qū),雙擊其中的"SELECT Data Method",可以看到屏幕彈出一個(gè)查詢代碼添加向?qū)υ捒颍鐖D15。
圖15:查詢代碼添加向?qū)υ捒?br>
依照該向?qū)ы樞虿僮鳎?br>
1) 選擇要進(jìn)行查詢操作的數(shù)據(jù)庫(ADDRBOOK.MDB),如圖15;
2) 選擇要在查詢結(jié)果中顯示的數(shù)據(jù)項(xiàng)(成員編號、名字、姓氏、角色等),如圖16;
圖16:選擇要在查詢結(jié)果中顯示的數(shù)據(jù)項(xiàng)
3) 點(diǎn)擊WHERE按鈕,選擇要查詢的數(shù)據(jù)項(xiàng)和查詢條件(姓氏),如圖17;
圖17:選擇要查詢的數(shù)據(jù)項(xiàng)和查詢條件
4) 完成設(shè)置后點(diǎn)擊Next按鈕進(jìn)入查詢測試對話框,點(diǎn)擊Test Query按鈕進(jìn)行查詢測試,輸入編號"趙",可以看到姓趙的成員信息被顯示出來,這說明測試成功,如圖18;
圖18:測試查詢結(jié)果
5) 最后設(shè)置生成的查詢方法的名稱(缺省為MyQueryMethod)和返回類型(缺省為DataSet),如圖19;
圖19:設(shè)置生成的查詢方法名稱和返回類型
6) 完成設(shè)置后回到Code視圖,可以看到WebMatrix自動生成的MyQueryMethod方法源代碼,如圖20。
圖20:生成的查詢方法源代碼
接下來是最后一步,把查詢按鈕的點(diǎn)擊事件與查詢方法關(guān)聯(lián)起來。
點(diǎn)擊頁面視圖區(qū)底部的Design標(biāo)簽頁 回到Design視圖,雙擊前面添加到頁面上的"查詢"按鈕,可以看到頁面視圖區(qū)由Design視圖轉(zhuǎn)到了Code視圖,WebMatrix自動為"查詢"按鈕的Click事件創(chuàng)建了一個(gè)函數(shù)--void Button1_Click(object sender, EventArgs e),函數(shù)體尚無內(nèi)容。在函數(shù)體中添入兩行代碼:
DataGrid1.DataSource = MyQueryMethod( TextBox1.Text ); DataGrid1.DataBind(); |
整個(gè)開發(fā)過程就完成了,如圖21所示。
圖21:為查詢按鈕的點(diǎn)擊事件添加關(guān)聯(lián)代碼
點(diǎn)擊工具條上的運(yùn)行按鈕運(yùn)行程序,可以看到運(yùn)行效果,頁面出現(xiàn)了文本框和查詢按鈕,在文本框中輸入"趙",點(diǎn)擊"查詢"按鈕后,數(shù)據(jù)表中所有姓"趙"的成員的信息被查出并顯示在了頁面上,如圖22。
圖22:程序按姓氏進(jìn)行條件查詢的運(yùn)行效果
如果覺得頁面中DataGrid的顯示效果難看的話,可以很方便進(jìn)行調(diào)整修飾。
回到WebMatrix中的程序頁面設(shè)計(jì)視圖窗口,點(diǎn)擊頁面上的控件DataGrid1,可以看到WebMatrix右下區(qū)域的屬性設(shè)置區(qū)中出現(xiàn)了對DataGrid的各種屬性設(shè)置項(xiàng),最簡便的修飾外觀的方法是點(diǎn)擊該區(qū)域下部的"Auto Format…"鏈接,從彈出的自動格式設(shè)置對話框中選擇一種喜歡的外觀樣式就可以了,如圖23所示。
圖23:DataGrid的外觀設(shè)置
再次運(yùn)行,可以看到界面顯示效果已經(jīng)自動進(jìn)行了修飾,如圖24所示。
圖24:加入修飾效果后的數(shù)據(jù)查詢程序頁面運(yùn)行效果
結(jié)束語
至此,相信你已經(jīng)領(lǐng)會到了WebMatrix的強(qiáng)大功能了,回過頭來想一想,真有點(diǎn)不敢相信這個(gè)東西居然只有2.8M。
WebMatrix在ASP.NET程序代碼處理上與VS.NET的不同之處在于WebMatrix將程序的邏輯處理代碼與頁面靜態(tài)代碼放在一個(gè)文件中,而不像VS.NET那樣做到了數(shù)據(jù)與顯示的分離。因此,在程序員與網(wǎng)頁美工的配合上會麻煩一點(diǎn),但對于開發(fā)中小型系統(tǒng)來說,這并不是很大問題。
總而言之,WebMatrix是一款小巧靈活、功能強(qiáng)大的基于Web的ASP.NET應(yīng)用系統(tǒng)開發(fā)工具,雖然相對VS.NET來說它還是一個(gè)非常輕量級的開發(fā)工具,但其自身相當(dāng)有特點(diǎn),很多功能并不遜于VS.NET,對于中小型的系統(tǒng)開發(fā)來說它是一個(gè)不錯(cuò)的選擇,而且最重要的是--它是免費(fèi)的。