ASP.NET AJAX 4的Client-Side Template和DataView
作為一個從事.NET Web技術的開發人員,似乎沒有什麼理由可以不懂微軟自己的AJAX框架,雖然它可能不太好用,或者用起來沒有像jQuery這樣的框架那麼爽。我沒有怎麼用過UpdatePanel來做過複雜的東西,所以對於這個的優缺點就不予置評了。對於客戶端的ASP.NET AJAX的客戶端JS Library,還是有一定了解的,相比於jQuery,總覺得微軟把JS搞得跟C#似的有名稱空間, 介面,繼承這些特性有點彆扭,用起來也還是沒有jQuery順手。
不過在看了ASP.NET AJAX 4.0新新增的一些新特性之後,覺得還是很不錯的,解決了實際開發中經常會遇到的問題,因此值得學習一下。
Client-Side Template
在用AJAX從伺服器端取得資料之後,有時候會讓人頭疼的一個問題就是資料如何展示,尤其是當資料量比較大的時候,這個時候我們就比較想念DataGrid,GridView了。當然,我們可以借用伺服器端控制元件的Render方法,在伺服器端把資料繫結到控制元件上之後,直接寫到Response中。不過這種方法把資料和UI糅合在了一起,不是很令人滿意。現在,微軟為我們帶了Client Site Template,解決了這個問題。
首先,用Html定義一個Template:
而對於sys-template,只是設定 {visibility:hidden; display:none;}
ID為details-container的Div顧名思義,就是包含template的地方。在UI都定義好之後,就可以從伺服器端取資料了。
這裡的getDetailWithID只是簡單的返回了一個JSON物件,而在實際情況中,這裡需要完成的工作就是從伺服器端取回資料。在取得資料之後,通過$get()獲取定義好的template,並把它構建成一個Sys.UI.Template, 再呼叫instantiateIn完成資料的賦值。到此為止了,挺簡單的方式。但是這隻解決了一個問題,這裡只顯示了一條資料,如果有多條資料需要顯示,那似乎就不能用這個了。這個時候,我們需要用的是DataView
使用DataView
同樣是使用上面的例子,但是這次需要顯示Backham的Fans, 而Beckham有很多的Fans,因此給Template加一個ul來顯示fans資訊
Fans:
在頁面中改變不大,關鍵還是在JS程式碼中,在同樣的fetchAndShowDetails中,需要在container.show()之前,加一個renderFansList,這個函式才是關鍵
程式碼其實很簡單,一目瞭然,如果看上去陌生,那隻不過需要一個對API熟悉的過程。在VS2010 Beta2中建立的web application,已經預設包含了jQuery庫,因此在上面的JS程式碼中會看到$()和$get()的混用。
總結
在實際應用中,需要使用DataView的情況可能會更多。
原文地址:http://www.cnblogs.com/jun1st/archive/2009/11/04/1596285.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-618181/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ASP.NET MVC和AJAXASP.NETMVC
- ASP.NET MVC TemplateASP.NETMVC
- Asp.Net MVC4系列--進階篇之AJAXASP.NETMVC
- ASP.NET 使用AjaxASP.NET
- 【趙劼】分清ASP.NET AJAX中的Extender和Behavior模型ASP.NET模型
- 第88節:Java中的Ajax和ASP.NET和TCP/IP 教程和JJavaASP.NETTCP
- Asp.net 利用Jquery Ajax傳送和接收DataTableASP.NETjQuery
- ASP.NET AJAX 是ASP.NET 3.5 才引入的ASP.NET
- SpringBoot+ajax踩的坑Error resolving template, template might not exist or might not be accessibleSpring BootError
- .NET 3.5和VS 2008中的ASP.NET AJAXASP.NET
- 第88節:Java中的Ajax和ASP.NET和TCP/IP 教程和JSONJavaASP.NETTCPJSON
- Asp.Net MVC 使用 AjaxASP.NETMVC
- AJAX Panels with ASP.NET MVCASP.NETMVC
- ASP.NET MVC 之 AJAXASP.NETMVC
- ES 筆記十四:Index Template 和 Dynamic Template筆記Index
- ASP.NET 的MVC結構之AJAXASP.NETMVC
- 程式碼中使用DataView物件----建立DataView物件View物件
- AJAX基於ASP.NET MVCASP.NETMVC
- Asp.net Ajax 註冊框架ASP.NET框架
- ASP.NET 調味品:AJAXASP.NET
- ajax的post請求,用於asp.net ?ASP.NET
- 剖析ASP.NET AJAX的物件導向思想ASP.NET物件
- ASP.NET AJAX中的非同步PageMethod呼叫ASP.NET非同步
- rac 的Client-side TAF配置clientIDE
- ASP.NET 2.0當中的Call back技術與ASP.NET AJAXASP.NET
- 在ASP.NET中使用AJAX的簡單方法ASP.NET
- ASP.NET AJAX中的非同步Web Services呼叫ASP.NET非同步Web
- Angular 4.x template syntax & common directivesAngular
- dataview 元件使用示例View元件
- [ASP.NET MVC 小牛之路]14 - Unobtrusive AjaxASP.NETMVC
- asp.net Ajax 終極解決方案ASP.NET
- ASP.NET AJAX常見問題整理ASP.NET
- 關於Asp.net ajax下的異常處理ASP.NET
- ASP.NET中的AJAX應用開發總結ASP.NET
- DataView物件buffer屬性View物件
- DataView byteLength 屬性View
- DataView byteOffset 屬性View
- DataView getInt8() 方法View