Repeater控件用于显示重复的项目列表,这些项目被限制在该控件中,不过这是一种自由的方式来控制数据
如何使用这个控件,下面是我整理的一点理解:
1.首先找到所绑定数据中重复的项目。
例如下面这个table:
这里表的标题是不变的,变动的只是里面的内容。所以我们就可以把Repeater控件放在<tr></tr>前面,因为<tr>标签就是我们所需要循环的内容。
2.添加项模板<ItemTemplate>
Repeater控件最关键的部分是模板,允许用户定义5中模板,而<ItemTemplate>是其中所必须的模板。项模板可以说是table里面控制一行数据的容器,里边可以包含html或服务器控件。
这样代码就可以为:
<asp:Repeater ID="repNews" runat="server">
<ItemTemplate>
<tr>
<td>1</td>
<td><a href="../newscontent.aspx" target="_blank">这里是标题</a></td>
<td><a href="#">修改</a></td>
<td><a href="#">删除</a></td>
</tr>
</ItemTemplate>
</asp:Repeater>
我们在U层中代码中绑定数据:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//调用B层的方法,返回新闻表
repNews.DataSource = new NewsManager().SelectAll();
repNews.DataBind();
}
}
通过绑定数据,我们知道表中的字段,这样前台就可以将字段与具体的单元格内容进行绑定,这里我们的“删除”用了一个LinkButton来代替。
<tr>
<td><%# Eval("id") %></td> //绑定表中id字段
<td><a href="../newscontent.aspx" target="_blank"><%# Eval("title") %></a></td>
<td><a href="#">修改</a></td>
<td>
<asp:LinkButton ID="lbtnDel" CommandArgument='<%# Eval("id") %>' runat="server">删除</asp:LinkButton>
</td>
</tr>
这样我们就可以通过Repeater控件进行数据的绑定。