zoukankan
html css js c++ java
asp.net Repeater中嵌套使用Repeater
在一般的网站中浏览类别的用户控件通常都位于大多数 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();
}
}
查看全文
相关阅读:
那些陌生的C++关键字
从实现装饰者模式中思考C++指针和引用的选择
单例模式(Singleton)
命令模式(Command)
抽象工厂模式(Abstract Factory)
《Effective C++》读书摘要
桥接模式(Bridge)
适配器模式(Adapter)
设计模式学习心得
黑客常用WinAPI函数整理
原文地址:https://www.cnblogs.com/wucf2004/p/770111.html
最新文章
Android Toast的一个bug
[疑问]虚函数与多态性
面向对象之多态性(基类引用可以指向子类)
全局函数中的static变量问题
嵌套类可以先在外围类中声明,然后在外围类中定义
静态成员函数中不允许引用类的非静态成员,但可以访问对象中的非静态成员
[不懂]纯虚函数
外围函数不能访问局部类的公有静态成员、类型名、枚举 值(类型名是一个typedef名字,枚举类型名、或一个类名)
嵌套类可以先在外围类中声明,然后在外围类之外定义
嵌套类域中的名字解析
热门文章
派生类内只能定义派生类新增加的成员而不能定义基类成员
[疑问]C/C++中为什么在类外利用多态基类指向派生类指针可以调用类的私有成员函数?
stdcall、cdecl、pascal在什么方面有所不同
[不是很懂]在成员函数中调用虚函数
在外围类作用域之外引用外围类的静态成员,类型名和枚举名都要求有解析操作符
类继承的结构
C/C++面试题 (附答案)
嵌套类的成员函数(或静态成员)可以在嵌套类外定义,但不能在外围类中实现,只能在外围类之外实现。
静态成员变量在MFC中的应用举例
虚基类
Copyright © 2011-2022 走看看