您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> asp.net编程 >> 正文

asp.net中Repeater控件用法笔记

作者:佚名    责任编辑:admin    更新时间:2022-06-22

   大家可能都对datagrid比较熟悉,但是如果在数据量大的时候,我们就得考虑使用repeater作为我们的数据绑定控件了。Repeater控件与DataGrid (以及DataList)控件的主要区别是在于如何处理HTML。ASP.NET建立HTML代码以显示DataGrid控件,但Repeater允许开发人员决定如何显示数据。所以,你可以选择将数据显示在一个HTML表格中或者一个顺序列表中。这主要取决于你的选择,但你必须将正确的HTML插入到 ASP.NET页面中。

  模板与DataList一样,Repeater控件只支持模板。以下的模板可供选择:

  AlternatingItemTemplate: 指定如何显示每一其它选项。

  ItemTemplate: 指定如何显示选项。(AlternatingItemTemplate可以覆盖这一模板。)

  HeaderTemplate: 建立如何显示标题。

  FooterTemplate: 建立如何显示页脚。

  SeparatorTemplate: 指定如何显示不同选项之间的分隔符。

  你可以使用这些模板来显示你希望的数据。唯一具有强制性的模板是ItemTemplate,所有其它的模板都是具有选择性的。

  对于处理一个数据源,Repeater控件具有与DataGrid与DataList相同的属性:

  DataMember:获得或者设置与 Repeater 控件绑定的相应DataSource属性的表格。

  DataSource:获得或者设置为 Repeater 显示提供数据的数据源。

  除此之外,还有一个Items属性,你可以通过这一属性编程访问Repeater数据中单一选项。它返回一个RepeaterItemCollection对象,为一组RepeaterItem对象的集合,代表 Repeater 数据的每一行。

  ASP.NET Web数据控件还有其它一个共性:它们都使用DataBind方法来生成用户界面。调用这一方法可以返回并显示数据(假设DataSource和 DataMember属性设置正确)。在查看DataBind方法之前,我们先看看如何在一个Web页面中使用一个Repeater控件。

  使用Repeater控件

  使用Repeater控件的第一步骤是决定我们将要使用的数据源和字段。例如,我们将要使用SQL Server Northwind数据库中的Employees列表。Web页面将显示职工的完整名字,地址,以及电话号码。HTML将使用DIV标记,用 Repeater 模板来分隔内容。下面是 Web 页面的 HTML 内容:

  前台代码

 代码如下  

<asp:Repeater ID="Repeater1" runat="server">
                <HeaderTemplate><table cellpadding="0" cellspacing="0" border="1" align="center" class="auto-style1">
                    <tr align="left">
                        <th>编号</th>
                        <th>姓名</th>
                        <th>年龄</th>
                        <th>班级</th>
                        <th>零花</th>
                    </tr>
                  </HeaderTemplate>
                <ItemTemplate>
                    <tr >
                        <td><%#Eval("id")%></td>
                        <td><%#Eval("name")%></td>
                        <td><%#Eval("age")%></td>
                        <td><%#Eval("classid")%></td>
                        <td><%#Eval("salary")%></td>
                    </tr>
                </ItemTemplate>
                <FooterTemplate></table></FooterTemplate>
            </asp:Repeater>

  后台代码

 代码如下     string sql = string.Format("select * from person");
        DataTable dt = sqlhelper.helper.ExecuteQuery(sql);
        Repeater1.DataSource = dt;
        Repeater1.DataBind();

  AspNetpager的使用方法:

  首先注册<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>

  前台:

 代码如下     <webdiyer:AspNetPager ID="AspNetPager1" runat="server" CustomInfoHTML="第%CurrentPageIndex%页,共%PageCount%页,每页%PageSize%条"
                FirstPageText="首页" LastPageText="尾页" LayoutType="Table" NextPageText="下一页"
                onpagechanging="AspNetPager1_PageChanging" PageIndexBoxType="DropDownList"
                PagingButtonLayoutType="Span" PrevPageText="上一页" ShowCustomInfoSection="Left"
                ShowPageIndexBox="Always" SubmitButtonText="Go" TextAfterPageIndexBox="页"
                TextBeforePageIndexBox="转到" Width="450px" PageSize="3">
                </webdiyer:AspNetPager>