ASP.NET Atlas ListView顯示列表數(shù)據(jù)
2006/12/28 21:35:46
在目前的大部分Web程序中,我們都需要顯示給用戶一些列表數(shù)據(jù)。ASP.NET中的GridView服務(wù)器控件提供了這種功能,Atlas中的客戶端控件ListView也可以在客戶端提供類似功能,并以AJAX方式運(yùn)行。
雖然您可以使用傳統(tǒng)的GridView控件加上Atlas的UpdatePanel提供同樣的AJAX運(yùn)行方式,但是這種實(shí)現(xiàn)方式較低效,也不是“純粹”的Atlas方法。推薦的方法是采用Atlas的客戶端控件ListView來代替。不要擔(dān)心,Atlas的ListView控件和GridView一樣簡單,而其二者在很多概念方面是相似的,例如ItemTemplate。但是需要注意的是目前IDE中并沒有提供對Atlas腳本的智能感知功能,加之Atlas腳本也沒有編譯時(shí)期檢查,所以在書寫代碼的時(shí)候應(yīng)該格外小心。
使用ListView的時(shí)候應(yīng)該提供給其一些必要的模版(Template),以告訴Atlas應(yīng)該如何渲染您的內(nèi)容。ListView中有如下模版:
layoutTemplate:這個(gè)模版用來渲染包含列表項(xiàng)目的容器(例如使用 <table>標(biāo)記),列表的頭部(例如使用 <thead>標(biāo)記),尾部等。您必須為ListView指定一個(gè)layoutTemplate。而且這個(gè)模版必須包含一個(gè)itemTemplate模版,也可選包含一個(gè)separatorTemplate模版。 itemTemplate:這個(gè)模版用來渲染列表中的一個(gè)項(xiàng)目(例如使用 <tr>標(biāo)記)。這個(gè)模版必須被置于layoutTemplate中。 separatorTemplate:這個(gè)模版用來渲染列表中的項(xiàng)目之間的分隔元素(例如使用 <hr>標(biāo)記)。這個(gè)模版必須被置于layoutTemplate中。 emptyTemplate.:這個(gè)模版用來渲染沒有項(xiàng)目存在時(shí)的ListView。此時(shí)可能與該ListView相關(guān)的DataSource對象中沒有項(xiàng)目,或是正在從服務(wù)器中取得的過程中。 ListView中還有一些屬性:
itemCssClass:指定項(xiàng)目條目的css class。 alternatingItemCssClass:指定間隔的項(xiàng)目條目的css class。 selectedItemCssClass:指定被選中的項(xiàng)目條目的css class。 separatorCssClass:指定分隔元素的css class。 itemTemplateParentElementId:這個(gè)屬性指定了itemTemplate和separatorTemplate的父元素。這樣itemTemplate和separatorTemplate元素就可以在其中被重復(fù)渲染。 ListView還有一些繼承于Sys.UI.Data.DataControl基類的方法/屬性,因?yàn)樵谙旅娴拇a中我們不需要使用,這里暫且略過。如果您感興趣。OK,讓我們通過一個(gè)實(shí)例來說明如何使用ListView控件:
首先,我們編寫一個(gè)返回.NET中DataTable的Web Service。注意到在這里將繼承于Microsoft.Web.Services.DataService基類,并且為service方法加上定義在名稱空間System.ComponentModel中的屬性DataObjectMethod。在service方法的開頭,我們使用System.Threading.Thread.Sleep(2000)來模擬2秒鐘的網(wǎng)絡(luò)延遲,以便可以看到emptyTemplate中的內(nèi)容。
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class MyService : Microsoft.Web.Services.DataService {
[DataObjectMethod(DataObjectMethodType.Select)]
public DataTable GetListData()
{
System.Threading.Thread.Sleep(2000);
DataTable dt = new DataTable("MyListData");
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Email", typeof(string));
DataRow newRow;
for (int i = 0; i < 5; ++i)
{
newRow = dt.NewRow();
newRow["Name"] = string.Format("Dflying {0}", i);
newRow["Email"] = string.Format("Dflying{0}@dflying.net", i);
dt.Rows.Add(newRow);
}
return dt;
}
}
然后,添加一些ASP.NET頁面中必須的
下一頁
返回列表
返回首頁
主站蜘蛛池模板:
yellow动漫免费高清无删减|
精品1州区2区3区4区产品乱码|
香蕉网在线视频|
钻胯羞辱的视频vk|
老扒夜夜春宵粗大好爽aa毛片|
精品久久久久久亚洲精品|
狠狠爱天天综合色欲网|
欧美性受xxxx|
揄拍自拍日韩精品|
好深好爽办公室做视频|
国产精品国产三级国产专播下|
国产亚洲精品资源在线26U|
亚洲欧美日韩久久精品第一区|
中文字幕精品视频|
99国产精品热久久久久久|
高清不卡免费一区二区三区|
精品一区二区AV天堂|
机机对在一起30分钟软件下载|
成人区人妻精品一区二区不卡
|
欧美在线一区视频|
成人综合激情另类小说|
国产精品久久久久电影|
四虎国产成人永久精品免费|
亚洲狠狠婷婷综合久久蜜芽|
中文字幕国产专区|
2019av在线视频|
综合色在线观看|
日韩高清国产一区在线|
天天操天天射天天操|
国产在线果冻传媒在线观看|
亚洲明星合成图综合区在线|
久久九九AV免费精品|
www.av在线|
老色鬼久久亚洲av综合|
欧美一级在线视频|
好看的国产精彩视频|
国产成人精品a视频|
免费无遮挡无码视频在线观看|
亚洲av第一网站久章草|
一级人做人a爰免费视频
|
中文字幕天天干|