ASP.NET 3.5 Extensions帶來什么
1. 概述
.NET 3.5和Visual Studio 2008的發布,在微軟的.NET戰略具有里程碑的意義,在Web開發方面,包含了一個具有強大功能的HTML Web設計器,該設計器提供了分割視圖編輯,嵌套母板頁,以及完善的CSS集成,同時改進了對JavaScript的支持,包括智能提示和調試等。僅僅在.NET 3.5發布后的20天,微軟推出了ASP.NET 3.5 Extensions第一個預覽版本,正式版將會在2008年上半年發布,里面包括了更多的ASP.NET 的特性,主要有如下幾個部分:
(1) ASP.NET MVC 框架
(2) ASP.NET AJAX改進
(3) ASP.NET 動態數據支持
(4) ASP.NET Silverlight支持
(5) ADO.NET數據服務
在本文中,我將通過幾個簡單的示例來展示ASP.NET 3.5 Extensions中的部分新特性。
2. ASP.NET MVC框架
MVC的概念,已經出現了很多年了,它將應用程序的實現分成三個部分,Model進行數據狀態的保持,View進行用戶界面的展現,Controller進行用來處理用戶的交互,操作Model和選擇View進行數據的顯示。ASP.NET MVC Framework中第一個關注點就是分離,以便方便的進行測試。同時它把aspx頁、模板頁、用戶控件都當作View來使用,同時它還提供了非常強大的URL路由選擇引擎,接下來我們通過示例來展示這些特性。
第一步:建立Model,使用LINQ to SQL類建立一個Product的數據模型
第二步:建立View,用一個aspx頁面來顯示Product的詳細信息,頁面繼承于泛型的ViewPage:
public partial class Product_Product : ViewPage<ProductInfo> { protected void Page_Load(object sender, EventArgs e) { } }
在aspx頁中顯示數據,直接使用<%=%>標記輸出:
<div> <h2>ProductDetail:</h2> ProductId:<%= ViewData.ProductId %><br /><br /> Name:<%= ViewData.Name %><br /><br /> Descn:<%= ViewData.Descn %> </div>
第三步:建立Controller,繼承于Controller基類,并且添加Action方法,同時控制用Product視圖來實現數據,并傳入要顯示的數據對象:
Code public class ProductController : Controller { [ControllerAction] public void Index() { MSPetShopDataContext db = new MSPetShopDataContext(); ProductInfo productinfo = db.ProductInfos.Single(p => p.ProductId == "BD-03"); RenderView("Product", productinfo); } }
第四步:配置路徑選擇,在Application_Start方法中進行配置:
void Application_Start(object sender, EventArgs e) { RouteTable.Routes.Add( new Route { Url = "[controller]/[action].mvc", Defaults = new { action = "Index"}, RouteHandler = typeof(MvcRouteHandler) } ); }
建立一個基于ASP.NET MVC Framework的應用程序,基本上就分上面的四步。目前ASP.NET MVC Framework還只是實現了一些基本的功能,在正式版中,其HTML幫助方法將會有幾十個之多,讓我們拭目以待吧。