阅读内容 

在Repeater中嵌套使用Repeater

[日期:2005-04-10] 来源:中国站长学院  作者:郁郁小蝎 [字体: ]
??? 在一般的网站中浏览类别的用户控件通常都位于大多数 ASP.NET 页的左边,它使用户能够按类别快速的查找产品。最近遇到一个客户,因为在他网站上展示的产品并不多,所以要求在原有类别浏览的基础上将产品也加进去。一来更方便,二来加长了左部导航栏的长度使页面更协调。原有的分类导航栏是由Repeater实现的,现在需要在每一个分类下加入该类的商品信息,于是我想到了在原有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();
????}

}

阅读:
录入:

推荐 】 【 打印
相关新闻      
本文评论       全部评论
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:
Advertisement
内容查询


Advertisement