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();
}
}
查看全文
相关阅读:
程序的版式
文件结构
LIB和DLL的区别与使用
静态链接库
C++ Vector
C++ Map
C++ List
快速实现十进制向二进制转换
Fail2ban 运维管理 服务控制
Fail2ban 配置详解 动作配置
原文地址:https://www.cnblogs.com/wucf2004/p/770111.html
最新文章
P1028 数的计算
最小二乘法
网页排名算法PagaRank
指针引用和引用指针的区别
单链表
POJ-3660 Cow Contest
最短路——Floyd算法
最小生成树之Prim算法
flask 中的 werkzeug Local,LocalStack 和 LocalProxy 技术应用
Python3 基本类型在64位上的占用内存情况
热门文章
docker chromium/chrome: error while loading shared libraries: libXcursor.so.2: cannot open shared object file: No such file or directory
pandas 初识(六)-可视化
pandas 初识(五)
Jupiter 页面环境下使用pip无法安装(AttributeError: module 'pip' has no attribute 'main')
pandas 过滤
vue element之axios下载文件(后端Python)
centos 安装 tkinter(不只用来做界面,在pylot中也使用)
pandas 初识(四)
VS编译程序添加图标
命名规则
Copyright © 2011-2022 走看看