|
1. 概述
.NET 3.5和Visual Studio 2008的發(fā)布,在微軟的.NET戰(zhàn)略具有里程碑的意義,在Web開發(fā)方面,包含了一個(gè)具有強(qiáng)大功能的HTML Web設(shè)計(jì)器,該設(shè)計(jì)器提供了分割視圖編輯,嵌套母板頁,以及完善的CSS集成,同時(shí)改進(jìn)了對JavaScript的支持,包括智能提示和調(diào)試等。僅僅在.NET 3.5發(fā)布后的20天,微軟推出了ASP.NET 3.5 Extensions第一個(gè)預(yù)覽版本,正式版將會在2008年上半年發(fā)布,里面包括了更多的ASP.NET 的特性,主要有如下幾個(gè)部分:
(1) ASP.NET MVC 框架
(2) ASP.NET AJAX改進(jìn)
(3) ASP.NET 動態(tài)數(shù)據(jù)支持
(4) ASP.NET Silverlight支持
(5) ADO.NET數(shù)據(jù)服務(wù)
在本文中,我將通過幾個(gè)簡單的示例來展示ASP.NET 3.5 Extensions中的部分新特性。
2. ASP.NET MVC框架
MVC的概念,已經(jīng)出現(xiàn)了很多年了,它將應(yīng)用程序的實(shí)現(xiàn)分成三個(gè)部分,Model進(jìn)行數(shù)據(jù)狀態(tài)的保持,View進(jìn)行用戶界面的展現(xiàn),Controller進(jìn)行用來處理用戶的交互,操作Model和選擇View進(jìn)行數(shù)據(jù)的顯示。ASP.NET MVC Framework中第一個(gè)關(guān)注點(diǎn)就是分離,以便方便的進(jìn)行測試。同時(shí)它把ASPx頁、模板頁、用戶控件都當(dāng)作View來使用,同時(shí)它還提供了非常強(qiáng)大的URL路由選擇引擎,接下來我們通過示例來展示這些特性。
第一步:建立Model,使用LINQ to SQL類建立一個(gè)Product的數(shù)據(jù)模型
第二步:建立View,用一個(gè)ASPx頁面來顯示Product的詳細(xì)信息,頁面繼承于泛型的ViewPage:
public partial class Product_Product : ViewPage<ProductInfo>
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
3. ASP.NET AJAX改進(jìn)
在ASP.NET 3.5 Extensions中對于ASP.NET AJAX改進(jìn)最重要的一點(diǎn)就是更好的瀏覽器歷史的支持,是我們可以很方便的進(jìn)行控制瀏覽器的前進(jìn)、后退按鈕。它提供了兩種方式供我們選擇,使用服務(wù)器端控件或者使用客戶端腳本。下面我將用示例簡單演示一下如何使用服務(wù)器段控件進(jìn)行瀏覽器歷史的控制。
添加ScriptManager控件,并設(shè)置其EnableHistory屬性為true,允許瀏覽器的歷史管理,以及OnNavigate處理為OnNavigateHistory函數(shù),以便處理導(dǎo)航時(shí)的事件。同時(shí)EnableStateHash屬性設(shè)為了false,主要是為了便于調(diào)試,以明文的方式進(jìn)行狀態(tài)的查看,如果實(shí)際使用的時(shí)候可以根據(jù)需要決定是否需要對狀態(tài)進(jìn)行Hash加密:
<ASP:ScriptManager runat="server" ID="ScriptManager1"
OnNavigate="OnNavigateHistory"
EnableHistory="true"
EnableStateHash="false" />
4. ASP.NET 動態(tài)數(shù)據(jù)支持
在ASP.NET 3.5 Extensions中包含了一個(gè)非常酷的特性,就是ASP.NET Dynamic Data(ASP.NET 動態(tài)數(shù)據(jù)),它允許我們不用編寫一行代碼極其快速地建造使用LINQ to SQL對象模型的數(shù)據(jù)驅(qū)動的網(wǎng)站,使用ASP.NET Dynamic Data可以體驗(yàn)一下.NET平臺下ROR的感覺。
在建立完ASP.NET Dynamic Data站點(diǎn)之后,它的項(xiàng)目結(jié)構(gòu)如下所示,其中App_Shared文件夾下包含了DynamicDataPages和DynamicDataFields兩個(gè)文件夾,DynamicDataPages文件夾下包含了一些ASPx頁面,用于顯示不同類型頁面的模板,DynamicDataFields下包含了一些用戶控件,用來顯示和編輯不同類型的字段時(shí)所有的模板。
現(xiàn)在我們可以使用LINQ to SQL來建立一個(gè)數(shù)據(jù)模型,加入想要顯示的表,剩下唯一要做的就是啟用動態(tài)模板,在Web.config中dynamicData節(jié)點(diǎn)中配置enableTemplates屬性為true,它的默認(rèn)值為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 服務(wù)器控件,使得我們可以更加方便的在ASP.NET使用Silverlight,目前提供的控件似乎只有<ASP:MediaPlayer/>控件,下面通過幾個(gè)代碼片段簡單說明一下。
聲明<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技術(shù):ASP.NET 3.5 Extensions帶來什么,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。