您的位置:首页 > 编程语言

repeater控件介绍、 repeater嵌套的代码实现

2013-11-07 13:05 375 查看
 

Repeater 控件的几个模板项介绍

AlternatingItemTemplate

对交替数据项进行格式设置,与
ItemTemplate 元素类似,但在 Repeater 控件中隔行(交替项)呈现一次。通过设置
AlternatingItemTemplate 元素的样式属性,可以为其指定不同的外观。

FooterTemplate

该模板确定了控件页脚的呈现样式,在所有数据绑定行呈现之后呈现的元素。用于控制Repeater 控件底部的样式和布局。

注意
FooterTemplate 不能是数据绑定的。

HeaderTemplate

该模板确定了控件页眉的呈现样式,在所有数据绑定行呈现之前呈现一次的元素。用于控制Repeater 控件头部的样式和布局。

注意
HeaderTemplate 项不能是数据绑定的。

ItemTemplate

该模板确定了数据项的呈现样式,对每一个数据项进行格式设置,为数据源中的每一行都呈现一次的元素

SeparatorTemplate

该模板定义了数据项间隔的呈现样式

 

Repeater数据绑定的实现

 


DataBind

要想为Repeater控件生成HTML代码,并将其添加到输出流中以显示到最终的浏览器中,必须调用DataBind方法。此外Repeater控件还提供了一下常用事件。

ItemCommand

该事件是Repeater中最常用的一个事件,单击Repeater控件中的按钮(Button或LinkButton)时触发该事件。

ItemCreate

在创建一个Repeater项时触发该事件,DataItem属性总是返回NULL

ItemDataBind

将Repeater控件中的某个项绑定到基层数据以后触发该事件,ItemTemplate和AlternatingItemTemplate绑定项的DataItem属性不为NULL

 
 

Repeater嵌套Repeater 的实现代码

 

前台页面部分:

 

<asp:Repeater id="rptCategories" runat="server">
<HeaderTemplate>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
</HeaderTemplate>
<ItemTemplate>
<!--分类名称-->
<tr><th><%# DataBinder.Eval(Container.DataItem, "TypeName") %></th></tr>
<!--分类下的产品-->
<asp:Repeater id="rptProduct" runat="server">
<ItemTemplate>
<tr><td><a href='ProductInfo.aspx?Id=<%# DataBinder.Eval(Container.DataItem, "ID") %>'><%# DataBinder.Eval(Container.DataItem, "ProductName") %></a></td></tr>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>


后台代码部分(部分代码):

 

//在绑定分类品名时,绑定分类下的产品
private void rptCategories_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
BLL.Products products =new BLL.Products();
if (e.Item.ItemType == ListItemType.Item ||    e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rptProduct = (Repeater) e.Item.FindControl("rptProduct");
//找到分类Repeater关联的数据项
DataRowView rowv = (DataRowView)e.Item.DataItem;
//提取分类ID
int CategorieId = Convert.ToInt32(rowv["ID"]);
//根据分类ID查询该分类下的产品,并绑定产品Repeater
rptProduct.DataSource = products.GetProductsByCategorieId(CategorieId);
rptProduct.DataBind();
}
}


 
参考资料:   repeater控件介绍、 repeater嵌套repeater       http://www.studyofnet.com/news/200.html
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息