|
1. 概述
.NET 3.5和Visual Studio 2008的發(fā)布,在微軟的.NET戰(zhàn)略具有里程碑的意義,在Web開發(fā)方面,包含了一個具有強大功能的HTML Web設計器,該設計器提供了分割視圖編輯,嵌套母板頁,以及完善的CSS集成,同時改進了對JavaScript的支持,包括智能提示和調試等。僅僅在.NET 3.5發(fā)布后的20天,微軟推出了ASP.NET 3.5 Extensions第一個預覽版本,正式版將會在2008年上半年發(fā)布,里面包括了更多的ASP.NET 的特性,主要有如下幾個部分:
(1) ASP.NET MVC 框架
(2) ASP.NET AJAX改進
(3) ASP.NET 動態(tài)數據支持
(4) ASP.NET Silverlight支持
(5) ADO.NET數據服務
在本文中,我將通過幾個簡單的示例來展示ASP.NET 3.5 Extensions中的部分新特性。
2. ASP.NET MVC框架
MVC的概念,已經出現了很多年了,它將應用程序的實現分成三個部分,Model進行數據狀態(tài)的保持,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,主要是為了便于調試,以明文的方式進行狀態(tài)的查看,如果實際使用的時候可以根據需要決定是否需要對狀態(tài)進行Hash加密:
<ASP:ScriptManager runat="server" ID="ScriptManager1"
OnNavigate="OnNavigateHistory"
EnableHistory="true"
EnableStateHash="false" />
在ASP.NET 3.5 Extensions中包含了一個非常酷的特性,就是ASP.NET Dynamic Data(ASP.NET 動態(tài)數據),它允許我們不用編寫一行代碼極其快速地建造使用LINQ to SQL對象模型的數據驅動的網站,使用ASP.NET Dynamic Data可以體驗一下.NET平臺下ROR的感覺。
在建立完ASP.NET Dynamic Data站點之后,它的項目結構如下所示,其中App_Shared文件夾下包含了DynamicDataPages和DynamicDataFields兩個文件夾,DynamicDataPages文件夾下包含了一些ASPx頁面,用于顯示不同類型頁面的模板,DynamicDataFields下包含了一些用戶控件,用來顯示和編輯不同類型的字段時所有的模板。
現在我們可以使用LINQ to SQL來建立一個數據模型,加入想要顯示的表,剩下唯一要做的就是啟用動態(tài)模板,在Web.config中dynamicData節(jié)點中配置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>
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帶來什么,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。