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)
{

}
}

3. ASP.NET AJAX改进

  在ASP.NET 3.5 Extensions中对于ASP.NET AJAX改进最重要的一点就是更好的浏览器历史的支持,是我们可以很方便的进行控制浏览器的前进、后退按钮。它提供了两种方式供我们选择,使用服务器端控件或者使用客户端脚本。下面我将用示例简单演示一下如何使用服务器段控件进行浏览器历史的控制。

  添加ScriptManager控件,并设置其EnableHistory属性为true,允许浏览器的历史管理,以及OnNavigate处理为OnNavigateHistory函数,以便处理导航时的事件。同时EnableStateHash属性设为了false,主要是为了便于调试,以明文的方式进行状态的查看,如果实际使用的时候可以根据需要决定是否需要对状态进行Hash加密: 

<ASP:ScriptManager runat="server" ID="ScriptManager1" 
OnNavigate
="OnNavigateHistory"
EnableHistory
="true"
EnableStateHash
="false" />

4. ASP.NET 动态数据支持

 

  在ASP.NET 3.5 Extensions中包含了一个非常酷的特性,就是ASP.NET Dynamic Data(ASP.NET 动态数据),它允许我们不用编写一行代码极其快速地建造使用LINQ to SQL对象模型的数据驱动的网站,使用ASP.NET Dynamic Data可以体验一下.NET平台下ROR的感觉。

  在建立完ASP.NET Dynamic Data站点之后,它的项目结构如下所示,其中App_Shared文件夹下包含了DynamicDataPages和DynamicDataFields两个文件夹,DynamicDataPages文件夹下包含了一些ASPx页面,用于显示不同类型页面的模板,DynamicDataFields下包含了一些用户控件,用来显示和编辑不同类型的字段时所有的模板。

  现在我们可以使用LINQ to SQL来建立一个数据模型,加入想要显示的表,剩下唯一要做的就是启用动态模板,在Web.config中dynamicData节点中配置enableTemplates属性为true,它的默认值为false:

Code
<dynamicData dataContextType=”” enableTemplates=”true”>
<mappings queryStringKeyPrefix="" pattern="~/{table}/{viewName}.ASPx">
<add actions="list,details" viewName="ListDetails" templateFile="ListDetailsTemplate.ASPx"/>
</mappings>
</dynamicData>

5. ASP.NET Silverlight支持 

  ASP.NET Silverlight支持,提供了一些ASP.NET 服务器控件,使得我们可以更加方便的在ASP.NET使用Silverlight,目前提供的控件似乎只有<ASP:MediaPlayer/>控件,下面通过几个代码片段简单说明一下。

  声明<ASP:MediaPlayer/>控件,分别指定控件的高度和宽度,并且指定视频文件的URL地址,可以使用MediaSkin属性来指定控件的外观样式:

<ASP:MediaPlayer ID="mediaPlayer" runat="server" 
Height
="300px"
Width
="450px"
AutoPlay
="false"
MediaSkin
="Expression"
Windowless
="true"
MediaSource
='<%# Eval("MediaUrl") %>">'
OnClientChapterSelected="onClientChapterSelected"
OnClientChapterStarted="onClientChapterStarted">
</ASP:MediaPlayer>

NET技术ASP.NET 3.5 Extensions带来什么,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。