asp:Repeater控件使用

Posted 大步向前走

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于asp:Repeater控件使用的主要内容,如果未能解决你的问题,请参考以下文章

webform网站相关数据控件和其他

gridview中的自定义分页

将表格布局转换为 Div

mvc 3 相当于 <asp:repeater> 函数?

asp:Repeater实例备忘

asp repeater里面的linkbutton单击页面跳转?谢谢