asp:Repeater控件使用


    Repeater控件和DataList控件,可以用來一次顯示一組數據項。比如,可以用它們顯示一個數據表中的所有行。 
    Repeater控件完全由模板驅動,提供了最大的靈活性,可以任意設置它的輸出格式。DataList控件也由模板驅動,和Repeater不同的是,DataList默認輸出是HTML表格,DataList將數據源中的記錄輸出為HTML表格一個個的單元格。

1. Repeater控件顯示數據

    要使用Repeater控件顯示數據,必須創建ItemTemplate。如下所示: 
例1:使用ItemTemplate顯示數據 


<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
    
<ItemTemplate>
        
<div class="movies">
            
<h1><%#Eval("Title"%></h1>
        
</div>
        
<b>Directed by:</b><%#Eval("Director"%>
        
<br />
        
<b>Description:</b><%#Eval("Description"%>
    
</ItemTemplate>
</asp:Repeater> 

    以上代碼,通過瀏覽器可以看到,.net不會改變里面的結構,模板里面怎么排列,數據顯示也怎么樣顯示。它的HTML如下所示:、 


<div class="movies">
     
<h1>史密斯行動</h1>
</div>
<b>Directed by:</b>Doug Liman
<br />
<b>Description:</b>約翰(布拉德?皮特 Brad Pitt 飾)和
<div class="movies">
     
<h1>暴力街區</h1>
</div>
<b>Directed by:</b>Luc Besson
<br />
<b>Description:</b>卧虎藏龍而又凌亂不堪的13區… 

    所以,Repeater的靈活性就在這個上面,完全可以自由發揮,想怎么顯示就怎么顯示。例如,都可以把它放在Javascript代碼中 


<script type=”text/javascript”>
    
<asp:Repeater id=”rptPhotos” Runat=”server”>
         
<ItemTemplate>
              
<%# Eval(“Name”, "photos.push(‘Photos/{0}’)"%>
         
</ItemTemplate>
    </asp:Repeater>
</script> 

   以上,photos是一個Javscript數組對象。Repeater生成的數據,最后就像以下這樣: 


<script type="text/javascript">
        photos.push(
'Photos/1.jpg');
        photos.push(
'Photos/2.jpg');
        photos.push(
'Photos/3.jpg');
        photos.push(
'Photos/4.jpg');
        …
</script> 


2. Repeater中使用模板

    Repeater支持以下5種模板 
      ● ItemTemplate : 對每一個數據項進行格式設置 【Formats each item from the data source.】 
      ● AlternatingItemTemplate : 對交替數據項進行格式設置 
      ● SeparatorTemplate : 對分隔符進行格式設置 
      ● HeaderTemplate : 對頁眉進行格式設置 
      ● FooterTemplate : 對頁腳進行格式設置 
   以上,英文中使用了Formats item from datasource這樣的話,就說明Repeater控件主要是用來對數據進行Format的,控制數據怎么樣排列,怎么樣顯示。 
   Repeater必須使用的是Itemtemplate,其它的類型模板按需添加。 
例2:以下通過CSS控制,顯示了一個比較不錯的列表項: 

Code

    以上,顯示的樣式如下所示: 

repeater 

3. Repeater控件的事件處理

    Repeater控件有以下事件: 
      ● DataBinding : Repeater控件綁定到數據源時觸發 
      ● ItemCommand : Repeater控件中的子控件觸發事件時觸發 
      ● ItemCreated : 創建Repeater每個項目時觸發  
      ● ItemDataBound : Repeater控件的每個項目綁定數據時觸發 
例3:使用Repeater控件的事件支持編輯、更新、刪除 
=== 后台代碼 === 

Code

=== 前台頁面 ===

Code

 

鏈接:http://www.cnblogs.com/shipfi/archive/2009/10/19/1585703.html

分類:  asp.net


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM