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爰免费视频 | 中文字幕天天干|