刚看到Repeater的时候感觉很懵逼=。= 反正我很懵逼
为啥??
当我把控件拖出来的时候发现上面什么提示也没有,只有一个绑定数据源···
后来懂了些
这个控件需要手动输入代码
一般是Table配合下面这三个一起使用
HeaderTemplate
ItemTemplate
FooterTemplate
其实百度什么的都有 但是我 的理解
HeaderTemplate 相当于标题 只有一个值
ItemTemplate 重复加载部分
FooterTemplate 页脚部分只有一个值
那么怎么搭配Table使用呢? 看下面的Demo
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table>
<tr>
<td>
选择题
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="lbtitle" runat="server" Text=' <%#DataBinder.Eval(Container.DataItem,"title") %>'></asp:Label>
</td>
</tr>
<tr>
<td>
<%--<asp:RadioButton ID="RadioButton1" runat="server" GroupName="aa" Text='<asp:Label ID="Label1" runat="server" Text ='<%#DataBinder.Eval(Container.DataItem,"a") %>' > A</asp:Label>' />--%>
<label>A<asp:RadioButton ID="RadioButton4" runat="server" GroupName="aa" Text='<%#DataBinder.Eval(Container.DataItem,"a") %>'/></label>
</td>
</tr>
<tr>
<td>
<label>B<asp:RadioButton ID="RadioButton2" runat="server" GroupName="aa" Text='<%#DataBinder.Eval(Container.DataItem,"b") %>'/></label>
</td>
</tr>
<tr>
<td>
<label>C<asp:RadioButton ID="RadioButton1" runat="server" GroupName="aa" Text='<%#DataBinder.Eval(Container.DataItem,"c") %>'/></label>
</td>
</tr>
<tr>
<td>
<label>D<asp:RadioButton ID="RadioButton3" runat="server" GroupName="aa" Text='<%#DataBinder.Eval(Container.DataItem,"d") %>'/></label>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
忘了说了 这个需要在前台绑定数据··平常我们都是在后台绑定数据 那么如何在前台绑定数据呢?
<%#DataBinder.Eval(Container.DataItem,"title") %>
这样就绑定了列名为"title"的数据
需要注意的是:<%%> 这种结构
看下后台代码是什么样的
protected void Page_Load(object sender, EventArgs e)
{
bind();
}
private void bind() {
string SQL = "select * from Demo";
string strConn = "data source=.;initial catalog=**;uid=**;password=**";
SqlConnection conn = new SqlConnection(strConn);
conn.Open();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(SQL, conn);
da.Fill(dt);
conn.Close();
Repeater1.DataSource=dt;
Repeater1.DataBind();
}
是不是很简单~?
这就是Repeater 的基本用法