詳細說明ASP.NET 2.0功能支持
原來上網我下了很多VS2005的ASP.NET 2.0的Demo。而我用的是VS2003,我在使用這些小樣時,基本上絕大部分基于VS2003的Asp.net工程都因為少數文件無法轉換而無法加載工程,為此我也苦惱很久,后來終于讓我找到了解決辦法。
源代碼在 Web 應用程序的 App_Code 文件夾中的類是自動進行引用的;如果使用了編譯組件,則可將它們放在 Bin 文件夾中,以便 Visual Web Developer 自動引用這些組件。IntelliSense 功能收集安裝在應用程序的 ASP.NET 2.0 文件夾中的所有組件的信息。有關詳細信息,請參見演練:在 Visual Web Developer 中使用網站的共享代碼。調試。對于本地網站,包括文件系統網站,具有全部調試功能。與以前的版本相比,調試更為容易也更快速。有關詳細信息,請參見演練:在 Visual Web Developer 中調試網頁。
ASP.NET 2.0 改進的代碼隱藏模型在 Visual Web Developer 的以前版本和本版本之間,一個顯著差別是代碼隱藏頁的工作原理。在 Microsoft Visual Studio .NET 2002 中,創建新的 Web 窗體頁之后,Visual Web Developer 會創建含有標記的 .aspx 文件,并為頁代碼創建單獨的 .vb 或 .cs 文件(代碼隱藏文件)。代碼隱藏文件定義了一個派生自 Page 類的完整類。網頁設計器使 .aspx 文件與代碼隱藏文件保持同步。例如,如果向 .aspx 文件添加 Web 服務器控件,網頁設計器則會在該控件的代碼隱藏文件中創建一個相應的實例變量。 #t#
在本版本中,代碼隱藏模型利用了稱為分部類的新語言功能。頁的代碼隱藏文件不是一個完整類定義。而是只包含所需的應用程序代碼,如事件處理程序。代碼隱藏分部類不需要包含實例變量;ASP.NET 2.0 在編譯時根據標記推斷控件實例。如果正在使用 C# 編寫代碼,則無需包含事件綁定的顯式委托,因為 ASP.NET 2.0 可以根據控件標記中的事件屬性(如 onclick)推斷出來。在 Visual Basic 中,可以和以前的模型一樣,向事件方法的聲明添加一條 Handles 子句,以便將該事件綁定到處理程序。較之于以前的模型,新的代碼隱藏模型具有如下優點:代碼和標記真正分離。
在以前的版本中,標記和代碼都存儲在單獨的文件中。但是,由于以前版本需要使用實例變量和事件委托才能保持文件同步,因此,文件的處理實際上并不是獨立進行的。例如,不可能由一名頁面開發人員處理頁面布局,由另一名開發人員處理代碼。在本版本中,上述做法的可行性大大提高。引用控件更為簡單。
如前所述,新的代碼隱藏模型在代碼隱藏頁中不需要顯式實例變量。盡管以前的版本也管理實例變量,但不是為所有控件(尤其是用戶控件或聲明為控件的一些 HTML 元素)進行管理。在本版本中,由于不需要任何實例變量,所有控件(包括用戶控件)都是隱式引用的。生成的代碼更少。
除了類定義本身外,ASP.NET 2.0 新的代碼隱藏模型幾乎不包含任何生成的代碼。代碼隱藏中沒有任何保留區域可供編輯器改寫。除了類定義本身外,新的代碼隱藏模型幾乎不包含任何生成的代碼。代碼隱藏中沒有任何保留區域可供編輯器改寫。