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


2009-07-30 14:55:43




