程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> NET移植案例學習:建造Web站點(3)

NET移植案例學習:建造Web站點(3)

編輯:ASP技巧
將ASP代碼移植到ASP .Net

  開發組希望在移植這個Web站點的過程中,能盡可能地少寫代碼,以減少產生漏洞的可能。在這部分,我將向你說明將ASP頁面移植到ASP .NET最簡單的方法是什麼。但使用這種方法不能充分利用ASP .NET的新特點,只能建立一個能在ASP .Net下運行的站點。

  許多頁面需要做三四個標准的修改後才能正確運行。最常見的修改是要刪除Set關鍵字。.Net框架和底層的common language runtime (CLR)把任何東西都當作對象處理,所以刪除了Set這個關鍵字。下面這段代碼取自原先的站點:

'create the feedback object 
set oFeedback = Server.CreateObject("BetaSiteMgr.Feedback") 

  應該改為 :

'create the feedback object  
oFeedback = Server.CreateObject("BetaSiteMgr.Feedback")  

  另一個常見的改動是,在ASP頁中引用一個對象時,要明確指定這個對象的默認屬性。CLR和ASP .Net不再支持不傳遞參數的默認屬性。不幸的是,盡管明確指定屬性的值可以增加代碼的可讀性和可持續性,許多開發者更願意利用默認屬性的特點而不打出值。在這個Web站點中,當需要使用ADO記錄時,默認屬性經常被使用。原來的ASP代碼像這樣:

'set rs fIElds 


rsLameError("BetaID") = Request.Form("betaid") 
rsLameError("UserDescription") = Request.Form("bugDescription") 
rsLameError("SeverityID") = Request.Form("severity")

  應改為:
'set rs fIElds  

rsLameError("BetaID").Value=Request.Form("betaid")
rsLameError("UserDescription").Value=Request.Form("bugDescription")
rsLameError("SeverityID").Value=Request.Form("severity")


  第三種常見的修改是改變類型轉換函數的使用方式。再ASP .NET中,VBScript的類型轉換函數被加到了.Net框架中。這個變化要求下面的ASP代碼

adoRS.fIElds("AreaID") = clng(oUploadManager.Form("cboArea"))
adoRS.fIElds("SubAreaID") = clng(oUploadManager.Form("cboSubArea"))


  轉變為:

adoRS.fIElds("AreaID").Value = 
      oUploadManager.Form("cboArea").ToString().ToInt()
adoRS.fIElds("SubAreaID").Value = 
      oUploadManager.Form("cboSubArea").ToString().ToInt()


  最後一個常見的修改是將調用Response.Write方法的格式改為ASP .NET中的方法調用格式。在VBScript,調用不返回值的過程時,不需要用小括號把參數括起來。但在ASP .NET中,所有傳遞到方法中的參數都要用括號括起來。在原來的站點中,在很多地方都調用了Response對象的Write方法,而且都沒加小括號。為了將站點移植到ASP .Net,有必要將下面這段代碼:

  <% Response.Write "Thank You!" %>

  改為:

  <% Response.Write("Thank You!") %>

  在對原來的ASP頁面做了這些修改之後,這個Web站點就可以運行在ASP .NET下了。移植工作只要用兩周就可以完成了。為了知道什麼地方需要作修改,開發組應用Visual Studio .NET IDE新建了一個新的Visual Basic Web應用程序,將現存的ASP文件的擴展名都改為.ASPx,並把它們加到工程中。一旦頁面在IDE中顯示了出來,Visual Studio .Net就高亮顯示出語法,列出要作修改的地方,幫助我們這樣發現編譯期錯誤。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved