Repeater 控件的嵌套使用
Repeater 控件的嵌套使用
ItemDataBound:数据绑定的时候(正在进行时)发生,多用在Repeater控件嵌套,对子Repeater控件进行数据绑定及模板列中统计列的计算处理等事情
ItemCommand :用来响应Item模板中的控件的事件。
绑定数据时,在父Repeater的ItemDataBound事件中绑定子Repeater,在子Repeater的ItemDataBound事件中绑定孙Repeater:
<dl id="body-zhanshi"> <%--一级 Repeater 绑定 省 --%>
<asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <dt class="body-dt"> <a href="#?AC=<%#Eval("AreaCode") %>">
<%#Eval("AreaName")%> </a> </dt> <dd class="body-dd"> <%--二级 Repeater 绑定 市 --%>
<asp:Repeater ID="Repeater2" runat="server"> <ItemTemplate> <a href="#?AC=<%#Eval("AreaCode") %>"> <%#Eval("AreaName")%></a> </ItemTemplate> </asp:Repeater>
</dd> </ItemTemplate>
</asp:Repeater> </dl> </div>
.aspx
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class Thc_chengshi_Thc_chsh : System.Web.UI.Page
{ protected void Page_Load(object sender, EventArgs e)
{
Repeater1.ItemDataBound += Repeater1_ItemDataBound; //委托 //全部城市 Repeater1.DataSource = states("");
Repeater1.DataBind(); } //母级城市对应的子集城市
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{ Repeater rep = e.Item.FindControl("Repeater2") as Repeater; //找到里层的repeater对象 ChinaStates rowv = (ChinaStates)e.Item.DataItem;//找到分类Repeater关联的数据项 string cod = rowv.AreaCode; //读取Repeater1中绑定数据的字段 rep.DataSource = states(cod); //调用方法查询数据、绑定Repeater1
rep.DataBind(); } } //查询城市的方法
public List<ChinaStates> states(string code)
{
List<ChinaStates> clist = new List<ChinaStates>();
using (Data0216_ltDataClassesDataContext con = new Data0216_ltDataClassesDataContext())
{ clist = con.ChinaStates.Where(r => r.ParentAreaCode == code).ToList(); } return clist;
} }
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
-- 指触发对象的类型是DadaList里的基本行或是替换行(简单的说是Repeater里的所有数据项内容)
Repeater rep = e.Item.FindControl("Repeater2") as Repeater;
-- 找到里层的repeater对象
ChinaStates rowv = (ChinaStates)e.Item.DataItem;
-- 找到 Repeater 关联的数据项
-- ChinaStates 是绑定数据的数据库表
Repeater 控件的嵌套使用的更多相关文章
- ASP.NET- 查找Repeater控件中嵌套的控件
如何在Repeater的HeaderTemplate和FooterTemplate模板中寻找控件?在Repeater的ItemTemplate模板中的控件,我们可以用Items属性来遍历行并用Find ...
- Repeater控件三层嵌套-内层Repeater添加绑定事件
用Repeater三层嵌套,最外层Repeater可以生成自己的ItemCommand事件.但接下来中间层因为是嵌套了的,所以无法在属性窗口中生成自己的事件.如果手动敲入则无效. 解决办法是需要通过编 ...
- Repeater控件的嵌套使用
1.前台代码: <asp:Repeater ID="OrderList" runat="server" onitemdatabound="Ord ...
- 使用Repeater控件实现三层嵌套以及分页效果
PS: 第一次用Repeater控件 记录一下 请忽略我的命名不规范 请忽略我的最终效果图(太丑了) 需要用到的朋友可以自行调整的漂亮点 ====================最终效果图===== ...
- Repeater控件 ---表格展示数据
简介: Repeater控件是Web 服务器控件中的一个容器控件,它使您可以从页的任何可用数据中创建出自定义列表. Repeater 控件不具备内置的呈现功能,这表示用户必须通过创建模板为 Repea ...
- asp.net repeater控件操作
Repeater控件和DataList控件,可以用来一次显示一组数据项.比如,可以用它们显示一个数据表中的所有行. Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输出格式. ...
- asp.net动态网站repeater控件使用及分页操作介绍
asp.net动态网站repeater控件使用及分页操作介绍 1.简单介绍 Repeater 控件是一个容器控件,可用于从网页的任何可用数据中创建自定义列表.Repeater 控件没有自己内置的呈现功 ...
- ASP.Net中通过Jquery前端对Repeater控件绑定的数据进行操作
说明:由于Repeater控件是动态绑定,通过Id获取数据只能默认获取第一行: 1.对Repeater中div设置样式 2.通过$(".css").each(function(){ ...
- Repeater 控件
Repeater 控件是一个容器控件,可用于从网页的任何可用数据中创建自定义列表.Repeater 控件没有自己内置的呈现功能,这意味着用户必须通过创建模板来提供 Repeater 控件的布局.当网页 ...
随机推荐
- 1024 Palindromic Number int_string转换 大整数相加
A number that will be the same when it is written forwards or backwards is known as a Palindromic Nu ...
- PHP字符串函数之 strpos stripos strrpos strripos
strpos – 查找字符串首次出现的位置 stripos – 查找字符串首次出现的位置(不区分大小写) strrpos – 计算指定字符串在目标字符串中最后一次出现的位置 strripos – 计算 ...
- <Listener>servletContextListener、httpSessionListener和servletRequestListener使用整理
在java web应用中,listener监听器似乎是不可缺少的.经常常使用来监听servletContext.httpSession.servletRequest等域对象的创建.销毁以及属性的变化等 ...
- pwm互补输出 死区设置
void TIM8_PWM_Init(u16 arr,u16 psc){ GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitT ...
- 多态&虚函数
(1).对象类型: a.静态类型:对象声明时的类型,编译的时候确定 b.动态类型:对象的类型是运行时才能确定的 class A {}; class B:pub ...
- Windows核心编程:第1章 错误处理
Github https://github.com/gongluck/Windows-Core-Program.git //第1章 错误处理.cpp: 定义应用程序的入口点. // #include ...
- 迁移桌面程序到MS Store(5)——.NET Standard
接下来的几篇,我想讨论下迁移桌面程序到MS Store,可以采用的比较常见.通用性比较强的实施步骤和分层架构. 通常商业项目一般都是不断的迭代,不太可能突然停止更新现有的桌面版本,然后花很长时间从头来 ...
- C3P0连接池、DBCP连接池
C3P0连接池: 配置文件:c3p0-config.xml <?xml version="1.0" encoding="UTF-8"?> <c ...
- Sequelize 学习笔记(11)- Migrations 迁移
一.作用 类似 git 管理源代码 一样,维护你的 DB. 二.安装 npm install --save sequelize-cli 三.使用 1.构建项目时 node_modules/.bin/s ...
- 个人总结的一个中高级Java开发工程师或架构师需要掌握哪几点!
今天,我来唠叨几句~~ 知识改变命运,对于Java程序员来说,技术不断更新,只有及时充电,才能不被市场淘汰.今天为大家分享Java程序员学习的6个小技巧. 1.一定要看书 现在学习Java变得比以前容 ...