最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ASP.NET AJAX 4.0的模版編程(Template Programming)介紹

 更新時(shí)間:2009年07月01日 01:57:02   作者:  
不過當(dāng)我評估ASP.NET AJAX 4.0的時(shí)候,我確實(shí)被它的特征給震住了。新的特征完全專注于瀏覽器技術(shù),比如XHTML和javascript。 我非常欽佩ASP.NET AJAX小組。

ASP.NET AJAX 4.0 模版的使用

1. Introduction:

當(dāng)Microsoft發(fā)布了它的ASP.NET 3.0時(shí)也同時(shí)發(fā)布了它的AJAX平臺也就是ASP.NET AJAX。 不過說實(shí)話,當(dāng)時(shí)相比其它的AJAX平臺,它沒有什么很突出的功能。不過當(dāng)我評估ASP.NET AJAX 4.0的時(shí)候,我確實(shí)被它的特征給震住了。新的特征完全專注于瀏覽器技術(shù),比如XHTML和javascript。 我非常欽佩ASP.NET AJAX小組。試試看看AJAX4.0的新特征:

Template based client side programming
DataView and DataContext
Live Data Binding


2. Template Programming

模版形式提供了一個(gè)可以設(shè)計(jì)Web UI樣式的模式并且能夠給運(yùn)行時(shí)的數(shù)據(jù)添加位置標(biāo)記。下面這個(gè)例子中,我設(shè)計(jì)了一個(gè)web頁面來顯示AdventureWorks數(shù)據(jù)庫的產(chǎn)品數(shù)據(jù)通過ADO.NET data service. 整個(gè)模式如下:

Service的代碼:

復(fù)制代碼 代碼如下:

public class AWProductDataService : DataService
{
public static void InitializeService(IDataServiceConfiguration config)
{
config.SetEntitySetAccessRule("*", EntitySetRights.All);
}
}

使用ASP.NET的模版的aspx頁面如下:
復(fù)制代碼 代碼如下:

<%@ Page Language="C#" AutoEventWireup="true"
CodeBehind="ClientTemplateAndDataViewDemo.aspx.cs"
Inherits="CoreEnhancements.AJAX.ClientTemplateAndDataViewDemo" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Microsoft Tech.Ed - Client-side Templating Demo</title>
<style type="text/css"><!--
.sys-template {display:none}

--></style><style type="text/css" bogus="1"> .sys-template {display:none}
</style>
<script type="text/javascript" src="../scripts/MicrosoftAjax.debug.js" src="scripts/MicrosoftAjax.debug.js"></script>
<script type="text/javascript" src="../scripts/MicrosoftAjaxTemplates.debug.js" src="scripts/MicrosoftAjaxTemplates.debug.js"><!--

// --></script>
<script type="text/javascript" src="../scripts/MicrosoftAjaxAdoNet.debug.js" src="scripts/MicrosoftAjaxAdoNet.debug.js"><!--

// --></script>
<script type="text/javascript"><!--
var dataContext = new Sys.Data.AdoNetDataContext();
dataContext.set_serviceUri("AWProductDataService.svc");
dataContext.initialize();

// --></script>
</head>
<body xmlns:sys="javascript:Sys" xmlns:dataview="javascript:Sys.UI.DataView"
sys:activate="*">
<form id="form1" runat="server">
<div>
<table border="1">
<thead>
<tr>
<td>Name</td>
<td>List Price</td>
<td>Size</td>
<td>Weight</td>
</tr>
</thead>
<tbody class="sys-template" sys:attach="dataview" dataview:autofetch="true"
dataview:dataprovider="{{ dataContext }}"
dataview:fetchoperation="Products">
<tr>
<td>{binding Name }</td>
<td>{binding ListPrice}</td>
<td>{binding Size}</td>
<td>{binding Weight}</td>
</tr>
</tbody>
</table>
</div>
</form>
</body>
</html>

我使用了傳統(tǒng)HTML table來顯示數(shù)據(jù)。 你能夠看到新的屬性在<TBODY>節(jié)點(diǎn)中,還有存放數(shù)據(jù)的節(jié)點(diǎn)<TD>。ASP.NET AJAX 4.0有一個(gè)很好的模版驅(qū)動來解析這些新的屬性。而這些新的屬性在X(HT)ML和Javascript中都是沒有的。這里的一個(gè)亮點(diǎn)是這些全都是XHTML能夠解析的,所以它們不是常規(guī)的HTML元素的自定義屬性。<TBODY>的類屬性設(shè)置為sys-template,是一個(gè)約定用來隱藏從用戶那邊得到的初始化模版。 .sys-template {display:none} 字段或者是屬性能夠通過{}符號來表達(dá)以便顯示在數(shù)據(jù)展示區(qū)。

3. DataContext:

模版需要數(shù)據(jù)來填充它的數(shù)據(jù)展示區(qū)作為上下文。 而上下文的數(shù)據(jù)可以綁定任何的Javascript數(shù)組或是可以作為模版的對象。上下文數(shù)據(jù)最強(qiáng)大的地方是它能夠通過web Services和JSON/ATOM交互。ASP.NET AJAX提供兩個(gè)數(shù)據(jù)上下文放在MicrosfotAjaxAdoNet.js中:

Sys.Data.DataContext
Sys.Data.AdoNetDataContext
上下文數(shù)據(jù)能夠自動跟蹤所有的數(shù)據(jù)變化通過new Sys.Observer對象。AdoNetDataContext支持ADO.NET數(shù)據(jù)服務(wù)很多額外的特性,比如認(rèn)證管理,鏈接和實(shí)體間的協(xié)作。下面這個(gè)例子描述了如何用AdoNetDataContext同AdventureWorks的產(chǎn)品的ADO.Net數(shù)據(jù)服務(wù)的交互。
復(fù)制代碼 代碼如下:

var dataContext = new Sys.Data.AdoNetDataContext(); dataContext.set_serviceUri("AWProductDataService.svc"); dataContext.initialize();

這里的set_serviceUri()方法能夠用來和WCF AJAX或者是ADO.NET 數(shù)據(jù)服務(wù)交互。Initialize()方法用來提供初始化。

4.      Data View

這里有個(gè)基本組件用來為模版展示數(shù)據(jù),它定義在System.UI.DataView中。它十分類似于服務(wù)器端的支持綁定任何Javascript對象或數(shù)據(jù)或是ASP.NET AJAX組件的數(shù)據(jù)源組件。它有連個(gè)屬性來進(jìn)行數(shù)據(jù)綁定:

data - To bind a JavaScript array or object
dataprovider - To bind to a WCF service
如果你需要運(yùn)行這個(gè)程序,你需要添加下面幾個(gè)客戶端的AJAX庫。

MicrosoftAjax.js
MicrosoftAjaxTemplates
MicrosoftAjaxAdoNet
下面這個(gè)圖展示了總體的一個(gè)使用模版編程的概念模型:

 數(shù)據(jù)最后的展示如下:

 

相關(guān)文章

  • ASP.NET?Core應(yīng)用JWT進(jìn)行用戶認(rèn)證及Token的刷新方案

    ASP.NET?Core應(yīng)用JWT進(jìn)行用戶認(rèn)證及Token的刷新方案

    本文詳細(xì)講解了ASP.NET?Core應(yīng)用JWT進(jìn)行用戶認(rèn)證及Token的刷新方案,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • Community Server專題三:HttpModule

    Community Server專題三:HttpModule

    Community Server專題三:HttpModule...
    2007-03-03
  • asp.net自動更新組件分享

    asp.net自動更新組件分享

    前兩天在博客上發(fā)布了一篇英文的自動更新組件文章Release a AutoUpdater tool,那么在這篇文章中,我們也對其功能進(jìn)行一些簡單說明,這個(gè)組件非常簡單,所以大家可以下載進(jìn)行一些改進(jìn)。
    2010-10-10
  • 關(guān)于dotnet?替換?ASP.NET?Core?的底層通訊為命名管道的?IPC?庫的問題

    關(guān)于dotnet?替換?ASP.NET?Core?的底層通訊為命名管道的?IPC?庫的問題

    這篇文章主要介紹了dotnet?替換?ASP.NET?Core?的底層通訊為命名管道的?IPC?庫,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • web用戶控件調(diào)用.aspx頁面里的方法

    web用戶控件調(diào)用.aspx頁面里的方法

    今天在一QQ技術(shù)群有朋友問: 他在web用戶控件中(.ascx)中放了一個(gè)dropdownlist控件,一個(gè)textbox控件和一個(gè)button控件。
    2009-04-04
  • 輕量級ORM框架Dapper應(yīng)用之返回多個(gè)結(jié)果集

    輕量級ORM框架Dapper應(yīng)用之返回多個(gè)結(jié)果集

    這篇文章介紹了使用Dapper返回多個(gè)結(jié)果集的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • VS2017 Cordova Ionic2 移動開發(fā)環(huán)境搭建教程

    VS2017 Cordova Ionic2 移動開發(fā)環(huán)境搭建教程

    這篇文章主要為大家詳細(xì)介紹了VS2017 Cordova Ionic2 移動開發(fā)環(huán)境搭建教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • asp.net注冊Javascript的方法

    asp.net注冊Javascript的方法

    今天在cnblogs上看到有關(guān)注冊Javascript,主要是用到了ClientScript的三個(gè)方法。
    2008-07-07
  • .NET?Core配置TLS?Cipher(套件)的詳細(xì)過程

    .NET?Core配置TLS?Cipher(套件)的詳細(xì)過程

    本文以.NET?5為例,只不過針對.NET?Core?3或3.1通過工具掃描出的協(xié)議套件結(jié)果略有所差異,但不影響我們對安全套件的配置,我們使用OpenSSL生成自簽名證書,對.NET?Core配置TLS?Cipher相關(guān)知識感興趣的朋友一起看看吧
    2021-12-12
  • Entity Framework Core生成列并跟蹤列記錄

    Entity Framework Core生成列并跟蹤列記錄

    這篇文章介紹了Entity Framework Core生成列并跟蹤列記錄的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02

最新評論

杂多县| 蚌埠市| 米脂县| 阜城县| 新野县| 金昌市| 塘沽区| 赣榆县| 浙江省| 武穴市| 亳州市| 隆尧县| 榆中县| 南木林县| 庐江县| 延安市| 工布江达县| 余江县| 兰考县| 清水河县| 新闻| 九寨沟县| 宁海县| 尼勒克县| 周至县| 仪陇县| 虞城县| 凤翔县| 永安市| 华阴市| 河北区| 扎兰屯市| 云梦县| 渝北区| 迁安市| 阿拉善左旗| 蓬安县| 邛崃市| 雷州市| 平顶山市| 白河县|