ASP.NET 和 Web 程式開發的新功能

更新:2007 年 11 月

.NET Framework 3.5 版包含 ASP.NET 在目標領域的加強功能。Visual Studio 2008 和 Microsoft Visual Web Developer Express 版也包含可以改善 Web 開發的加強功能和新功能。

最重要的進展是我們改善了開發採用 AJAX 技術之網站的支援,以及 Language-Integrated Query (LINQ) 的支援。這些進展包括新的伺服器控制項和型別、新的物件導向用戶端型別程式庫,以及在 Visual Studio 2008 和 Microsoft Visual Web Developer Express 版中使用 ECMAScript (JavaScript 或 JScript) 的完整 IntelliSense 支援。

本主題的下列各節將說明 ASP.NET 和 Visual Web Developer 中的變更。

  • ASP.NET 加強功能

  • Visual Web Developer 加強功能

ASP.NET 加強功能

.NET Framework 3.5 版包含 ASP.NET 在下列領域的加強功能:

  • 一起運作的全新伺服器控制項、型別和用戶端指令碼程式庫,可讓您開發 AJAX 樣式的 Web 應用程式。

  • 將伺服器端表單驗證 (Authentication)、角色管理和設定檔服務擴充為可供 Web 架構應用程式使用的 Web 服務。

  • 全新的 ListView 資料控制項,可提供資料以及提供自訂性高的 UI。

  • 全新的 LinqDataSource 控制項,其透過 ASP.NET 資料來源控制項架構,公開 Language-Integrated Query (LINQ)。

  • 全新的合併工具 (Aspnet_merge.exe),可合併預先編譯的組譯碼 (Assembly),以支援彈性部署和發行管理。

.NET Framework 3.5 版也與 IIS 7.0 整合。您現在可以使用 ASP.NET 服務 (例如表單驗證和快取) 來處理所有內容類型,而不只限於 ASP.NET Web 網頁 (.aspx 檔案)。這是因為 ASP.NET 和 IIS 7.0 使用相同的要求管線,而這種統一的要求處理管線則表示您可以使用 Managed 程式碼來開發適用於 IIS 中所有要求的 HTTP 管線模組。此外,IIS 和 ASP.NET 模組與處理常式現在也支援統一的組態。如需詳細資訊,請參閱 IIS 7.0 的 ASP.NET 應用程式生命週期概觀

AJAX 開發

.NET Framework 3.5 版可讓您建立提供下一代使用者介面的 Web 應用程式,而這種全新的使用者介面中則包含了可重複使用的用戶端元件。您可以視需求使用伺服器端的方法、用戶端的方法,或結合兩種方法來開發 Web 網頁。AJAX 伺服器端和用戶端程式撰寫模型 (Programming Model) 提供下列各項功能:

  • 支援伺服器端 AJAX 開發的伺服器控制項。這包含 ScriptManagerUpdatePanelUpdateProgressTimer 控制項。這些控制項可以讓您在只使用少量用戶端指令碼或不使用用戶端指令碼的情況下,建立豐富的用戶端行為,例如在非同步回傳期間呈現部分網頁及顯示更新進度。

  • Microsoft AJAX Library,其支援與瀏覽器分開運作的用戶端、物件導向開發。除了支援新的 AJAX 伺服器控制項之外,用戶端程式庫也可讓您開發擴充 DOM 項目或代表 DOM 項目的自訂用戶端元件。

  • 伺服器類別可讓您開發對應至自訂用戶端元件的伺服器控制項,這些控制項的事件和屬性是以宣告方式設定的。支援此功能的伺服器類型包括衍生自 ExtenderControlScriptControl 基底類別 (Base Class) 的控制項,或者實作 IExtenderControlIScriptControl 介面的控制項。

  • 支援使用用戶端指令碼進行指令碼全球化和當地語系化。全球化可讓您根據文化特性值 (地區設定) 顯示日期和數字。當地語系化可讓您在用戶端元件中指定 UI 項目或例外狀況訊息的當地語系化內容 (文字、影像等等)。

  • 存取 Web 服務和 ASP.NET 驗證、角色管理,以及設定檔應用程式服務。

.NET Framework 3.5 版可讓您輕鬆地在網頁內進行非同步的部分網頁更新,如此即可避免完整頁面回傳的額外負荷。您可以只在 UpdatePanel 控制項內放入現有的控制項和標記。從 UpdatePanel 控制項內部的回傳會變成非同步回傳,並且只會重新整理面板內的網頁部分,如此一來便可建立更流暢的使用者經驗。您可以使用 UpdateProgress 控制項顯示部分網頁更新的進度。

認識 ASP.NET 中的 AJAX 開發

本文件提供了大量的資訊,幫助您了解如何在 ASP.NET 中開發 AJAX 樣式的 Web 應用程式。請依照加入 AJAX 和用戶端功能中說明的主題順序,開始閱讀本文件。

Web 服務和應用程式服務

.NET Framework 3.5 版可以讓您建立 ASP.NET (.asmx) 和 WCF 架構的兩種 Web 服務,而且您可以使用 Microsoft AJAX Library 從用戶端指令碼中的 Web 網頁來呼叫這兩種服務。您也可以呼叫公開為 Web 服務的伺服器端應用程式服務,包括表單驗證、角色管理和設定檔。這些應用程式服務可以在 WCF 相容的應用程式中使用,包括已啟用 AJAX 的 Web 網頁和 Window Form 用戶端。因此,使用這些 ASP.NET 或 WCF 技術建置的應用程式都可以共用應用程式服務所提供的資訊。如需詳細資訊,請參閱 ASP.NET AJAX 中的 Web 服務使用 ASP.NET Web 服務

ListView 資料控制項

ListView 控制項結合了現有資料控制項的許多層面。ListView 控制項非常適合用來顯示任何結構重複的資料,這一點與 DataListRepeater 控制項十分類似;但跟這些控制項不同的是,除了排序和分頁之外,ListView 控制項還可以支援編輯、插入和刪除作業。分頁功能是由新的 DataPager 控制項針對 ListView 所提供的功能。

ListView 控制項具有極高的自訂性,可以讓您使用範本和樣式來定義控制項的 UI。如同 RepeaterDataListFormView 控制項,ListView 控制項中的範本並未預先定義成可在瀏覽器中呈現特定的 UI。如需詳細資訊,請參閱 ListView Web 伺服器控制項概觀

DataPager 控制項

DataPager 控制項可用來逐頁查看實作 IPageableItemContainer 介面之控制項所顯示的資料,例如 ListView 控制項。DataPager 控制項支援內建的分頁 UI。您可以使用 NumericPagerField 物件來指定分頁 UI;這個物件可以讓使用者根據頁碼來選取頁面。您也可以使用 NextPreviousPagerField 物件,讓使用者一次巡覽一頁,或是跳到第一頁或最後一頁。另外,您還可以使用 TemplatePagerField 物件來建立自訂分頁 UI。

LinqDataSource 控制項

LinqDataSource 控制項透過 ASP.NET 資料來源控制項架構,公開 Language Integrated Query (LINQ)。如果您要建立 Web 網頁來擷取或修改資料,而且想要使用 LINQ 提供的程式撰寫模型,請使用 LinqDataSource 控制項。您可以啟用 LinqDataSource 控制項,自動建立資料互動命令,來簡化 Web 網頁程式碼。相較於在 SqlDataSource 控制項或 ObjectDataSource 控制項中執行資料作業,使用 LinqDataSource 控制項時,您可以減少執行相同作業時必須撰寫的程式碼數量。當您使用 LinqDataSource 控制項時,也可以享受到只需學習一種程式撰寫模型就能與各種不同資料來源互動的好處。

您可以使用宣告式標記來建立 LinqDataSource 控制項,用以連接資料庫或資料集合 (如集合) 中的資料。在這個標記中,您可以指定顯示、篩選、排序和群組資料的準則。如果資料來源是 SQL 資料庫資料表,您也可以設定 LinqDataSource 控制項來更新、插入及刪除資料。您不必撰寫 SQL 命令就可以執行這些工作。LinqDataSource 類別提供了事件模型,使您可以自訂顯示和更新行為。如需詳細資訊,請參閱 LinqDataSource Web 伺服器控制項概觀

ASP.NET 合併工具

ASP.NET 合併工具 (Aspnet_merge.exe) 可讓您合併及管理 ASP.NET 先行編譯工具 (Aspnet_compiler.exe) 所建立的組件 (這套合併工具早期是以 Visual Studio 2005 附加套件的形式來發行)。此合併工具會針對網站建立單一的組件。您可以針對整個網站、每個網站資料夾或是組成網站 UI (網頁和控制項) 的檔案本身,建立一個組件。

如需詳細資訊,請參閱 ASP.NET 合併工具 (Aspnet_merge.exe)。如需 ASP.NET 編譯器工具的詳細資訊,請參閱 ASP.NET 編譯工具 (Aspnet_compiler.exe)

Visual Web Developer 加強功能

下列各節提供 Visual Studio 2008 和 Visual Web Developer Express 版中各項加強功能和新功能的相關資訊。

新的設計檢視和 CSS 設計工具

Web 網頁設計工具現在可以讓您在 [設計] 檢視、[原始碼] 檢視,或是同時顯示 [設計] 檢視和 [來源] 檢視的 [分割] 檢視中工作。

Visual Studio 現在提供可以輕鬆使用階層式樣式表 (CSS) 的工具。您可以使用新的 UI 工具 (例如 [CSS 屬性] 視窗),在 [設計] 檢視中設計版面配置和樣式內容。您也可以使用 WYSIWYG 視覺配置工具,直接在 [設計] 檢視中直接變更位置、邊框距離和邊界。

如需詳細資訊,請參閱下列主題:

JScript 和 ASP.NET AJAX 的 IntelliSense

Visual Studio 2008 和 Visual Web Developer Express 版現在提供已有重大改進的 IntelliSense,可供您在 ECMAScript (JScript 或 JavaScript) 中編寫程式碼,並為使用 Microsoft AJAX Library 之 AJAX 樣式的 Web 應用程式撰寫用戶端指令碼。IntelliSense 適用於 script 項目中的用戶端指令碼,也可用於參考的 .js 指令碼檔。

此外,IntelliSense 也可以顯示 XML 程式碼註解。XML 程式碼註解用於描述用戶端指令碼的摘要、參數和傳回的詳細資料。ASP.NET AJAX 也使用 XML 程式碼註解來提供 ASP.NET AJAX 型別和成員的 IntelliSense。IntelliSense 也支援使用 XML 程式碼註解的外部指令碼檔參考。

如需詳細資訊,請參閱下列主題:

Web 應用程式專案

Web 應用程式專案先前是以 Visual Studio 2005 附加套件的形式發行,而現在則已整合到 Visual Studio 中。透過使用 Web 應用程式專案模型,您可以將網站編譯成 Bin 資料夾中的單一組件,並明確定義專案資源。

Web 應用程式專案模型所使用的專案、組建和編譯語意 (Semantics) 與 Visual Studio .NET 2003 的 Web 專案相同,使您可以輕鬆地將 Visual Studio .NET 2003 網站移轉到最新版的 Visual Studio。

Web 應用程式專案並未取代 Visual Studio 2005 所引入的網站專案類型。相反地,它們提供了另一種專案模型,使您在部署及維護 Web 應用程式時能夠有更多的選擇。

注意事項:

Visual Web Developer Express 版不支援 Web 應用程式專案。

如需詳細資訊,請參閱下列主題:

多目標 Web 應用程式

Visual Studio 現在可讓您為 Web 應用程式指定特定的 .NET Framework 版本做為其目標。您可以使用一個 Visual Studio 執行個體 (Instance) 開發 .NET Framework 2.0、3.0 (Windows Vista) 和 3.5 版的 Web 應用程式。

如需詳細資訊,請參閱下列主題:

LINQ 的設計工具和 IntelliSense 支援

Visual Studio 2008 內的一組新增功能支援 Language-Integrated Query (LINQ),並增強了 C# 和 Visual Basic 語言語法的強大查詢功能。LINQ 引進了標準、易於學習的查詢及資料轉換模式,並可加以擴充以支援各種資料來源。這套設計工具以視覺化的方式呈現資料類別,使您能夠快速建立及編輯對應至資料庫中物件的類別。IntelliSense 支援提供了 LINQ 語言語法的資訊,以及在 [原始碼] 檢視中使用 LinqDataSource 控制項的資訊。如需詳細資訊,請參閱LinqDataSource Web 伺服器控制項概觀

在 Web 專案中建立及使用 WCF 服務的支援

在 Visual Studio 中,您可以將 ASP.NET Web 服務 (.asmx 檔案) 和 WCF Web 服務 (.svc 檔案) 加入到專案中。使用 Managed 程式碼撰寫的用戶端應用程式通常都會透過 Proxy 類別來存取這些 Web 服務。例如,當您使用 [加入 Web 參考] 對話方塊時,這些應用程式就會使用 Visual Studio 所產生的 Proxy 類別。AJAX 應用程式可以使用用戶端指令碼自動產生的 Proxy 類別,從瀏覽器存取 Web 服務。如需詳細資訊,請參閱 Web Services Architectural Overview

ASP.NET AJAX 擴充項控制項的支援

AJAX 擴充項控制項可加強 ASP.NET Web 應用程式中標準 Web 伺服器控制項的用戶端功能。您可以將一個或多個擴充項繫結到 Web 伺服器控制項 (例如 TextBox 控制項、Button 控制項和 Panel 控制項),以提供更豐富的 Web 架構使用者經驗。

Visual Studio 支援所有的 ASP.NET AJAX 擴充項控制項,包括您所建立的擴充項控制項,以及從 ASP.NET AJAX Control Toolkit (可以從 ASP.NET 網站 (英文) 下載) 等來源加入的擴充項控制項。

注意事項:

ASP.NET AJAX Control Toolkit 是社群支援的程式庫,但 Microsoft 並不支援。

如需詳細資訊,請參閱下列主題:

請參閱

概念

Visual Studio 2008 的新功能

Web 應用程式專案概觀

加入 AJAX 和用戶端功能

將 AJAX 功能加入至 ASP.NET 控制項

其他資源

Walkthrough Series Guided Tour

AJAX 伺服器控制項