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帮助方法将会有几十个之多,让我们拭目以待吧。