最近我在論壇上看到,許多人問關於使用DW開發asp.net出現的許多問題,如不能編譯文件,Dw內含的服務器行為操作失誤等等。現在我將如何使用開發工具寫asp.net的一些問題說明一下:
1. DW-MX開發asp.net應用程序。
dw開發動態網頁的方法是從UltraDev發展而來。原來dw4.0擅長的是開發靜態的html網頁,方法是直接在.html文件內添加HTML代碼,正好asp也是直接在html內添加服務器端的操作代碼(使用vbscript霍javascript語言),而asp所使用的對象(就是服務器端允許你操作的項目)不多,一共只有6大對象。如Request,Response,Server等。MM公司就把開發asp網頁中經常使用的一些功能,如讀取數據庫,分頁顯示,用戶登錄等功能做成代碼莫板。用戶使用時可以用開發html的方法,直接通過命令添加這些已經編寫好的代碼。這樣,ud即可編寫asp動態頁面了,同樣的道理,編寫CF,JSP,PHP等,都是在html頁面中加入服務器端代碼,所以ud也可以編寫這些網頁。
MX升級了ud的功能,加入了可以用來開發asp.net的動態頁面的功能,但是mx使用的是與開發asp頁面相同的方法,直接在aspx文件中加入代碼。
2. ASP.Net的開發模式
Asp.Net開發動態網頁,與Asp完全不同。
首先,asp是把服務器端代碼寫入html代碼中,僅僅是文件擴展名為.asp。而asp.net完全不同。它的表示層(HTML代碼)與業務層(後台代碼)是完全分離的。即假設有一個asp.net文件aaa.aspx,這個文件僅存放表示代碼HTML和asp.net專用的服務器控件代碼,後台控制代碼是存放在名為aaa.aspx.vb(使用Vb.net開發,如果是C#,文件為aaa.aspx.cs)的後台代碼文件中。程序編寫好以後,可以編譯這個.vb文件,使之成為.dll文件,這樣不但運行速度快,而且可以保護開發者的勞動成果。
其次,asp是解釋型的代碼,就是在asp運行的時候,服務器臨時把後台代碼編譯成可執行代碼,然後再執行;而asp.net是在編寫程序的時候,就把後台代碼編譯了,運行的時候沒有編譯這個過程,所以運行速度比asp網頁快得多。
再次,asp的開發語言是VBScript和javascript,他們都是解釋型的腳本語言,語言本身的功能非常弱,除了一語言的基本功能如定義變量,判斷,循環等,沒有其他的功能。而asp.net使用的是功能完善的高級語言,這些語言全部有面向對象編程的能力,如方法重載,類的繼承,接口,委托等功能。這些都是asp不具備的。
再次,asp所使用的功能非常少,只有區區的六大對象可以使用。如Request,Response,Server,FSO等。而asp.net具有.Net類庫的支持,只要類庫支持的功能,asp.net都支持,如對流的支持,對Win2k的目錄服務的支持,發送郵件,FTP,等等等等。功能非常強大。
3. DW開發asp.net的缺點
根據上面說的asp.net開發模式,大家可以看出Dw並不是一個開發asp.net的好工具。
首先它不支持代碼分離,他的開發模式還是處在asp的開發模式上,就是說它生成的asp.net不是編譯的,這樣的話,開發出的asp.net網頁必須在運行的時候編譯運行,運行速度還沒有asp快。
然後就是沒有編譯功能,dw不是為了開發asp.net用的,所以即使你手工實現了代碼的分離,你必須在Dos方士下手工以命令的方式調用.Net SDK帶的編譯器來編譯,這樣如果你的代碼中有錯誤,那麼運行將失敗,你必須修改代碼重新編譯。直到代碼運行成功。如果有許多aspx及.vb文件,這樣的工作將是非常非常麻煩的。
最後,也是一個最重要的內容,DW沒有調試功能。這個功能是編寫程序時候最重要的,專門用來防止出現邏輯錯誤。這個錯誤是你編寫的代碼中沒有語法錯誤,程序運行正常,但是程序就是不按照你所想象的運行的錯誤。
假設你編寫一個顯示新聞的網頁,在顯示新聞中你規定了新聞的到期時間,保存在新聞數據表中的一個字段裡面,這樣,要排除過期的新聞,只要加上一個條件:目前時間小於到期時間。如下面Select語句:
Select * From NewsTable Where # NowDate # < NewsTable.StopDate
但是如果在開發的時候,把代碼中的“<”號寫反了,寫成了“>”號,這樣,顯示出的新聞條目全部都是過期新聞,這樣就出現麻煩了。
因為程序沒有出錯,沒有任何出錯信息表示,網頁顯示正常。你也不記得到底是什麼地方除了毛病,是沒有聯接數據庫?還是查詢語句出錯,還是顯示有錯誤?你根本不知道哪裡出了毛病。這時候就應該用到程序調試功能。
程序調試功能最主要的作用就是:可以在代碼中設置斷點,使程序在運行到斷點所在的代碼中暫停執行,並保持狀態。還可以單步運行程序,你點一下鼠標執行一行代碼,同時,可以隨時監視你定義的變量中的內容。
如果有了這個功能,上面說的邏輯錯誤馬上就能發現並改正。這個調試功能就是DW沒有的。
4. 用什麼開發asp.net?
答案:Microsoft Visual Studio.Net
5. 好處
完全支持asp.net開發。
後台代碼:Vs.net直接支持asp.net的後台代碼,你不需要任何特殊的操作就可以直接輸入後台代碼。
自動編譯:你只要按一下鼠標,所有的代碼文件將會打包成一個或幾個(由你指定)的.dll文件。
調試支持:目前最完善的asp.net調試器,可以調試後台代碼,SqlServer的存儲過程,javascript腳本,Html代碼。可以自動監視所有的變量內容和類的調用。可以單步運行代碼,可以逐過程運行代碼。
開發類型多:asp.net不僅僅包括aspx窗體頁面,而且包括類庫,自定義服務器控件,Web服務等許多類型,這些類型DW是絕對無法開發的。而vs.net都可以開發。
服務器功能支持:在Vs.net裡面自動包含了Sql Server的企業管理器,可以直接建立SqlServer的數據庫、表、存儲過程、函數等所有的東西。甚至可以與Access數據庫聯系,建立表和查詢等。不需要SqlServer自帶的企業管理器了。所以開發Asp.net時候可以使用SqlServer
12下一頁