repeater控件 php,Repeater控件绑定的三种方式
方式一
在aspx页面,写好需要循环输出的内容,一般包含用户自定义控件、服务器控件、Html格式的片段、和这种方式来动态显示获取到得数据列表:
">
class="">
在cs文件,是用GetProductImageList方法来获取List类型的数据列表,并绑定在Repeater控件上面:
上面的不包含用户自定义控件、服务器控件,所以不需要ItemDataBound事件来对单个的数据项进行个性化的赋值
protected override void BindDataSource()
{
this.rpImage.DataSource = GetProductImageList();
this.rpImage.DataBind();
}
方式二
在aspx页面,这次包含了用户自定义控件,所以需要用到ItemDataBound事件来对列表中的每一个用户自定义控件进行个性化的赋值,用户自定义控件可以有公用的方法或者属性,
让我们在ItemDataBound事件中赋值:
在cs文件,用户自定义控件可以有公用的方法或者属性,让我们在ItemDataBound事件中赋值:
protected override void BindDataSource()
{
this.gvItemList.DataSource = productList;
this.gvItemList.DataBind();
}
protected override void OnInit(EventArgs e)
{
this.gvItemList.ItemDataBound += new RepeaterItemEventHandler(this.OnItemListDataBound);
base.OnInit(e);
}
private void OnItemListDataBound(object sender, RepeaterItemEventArgs e)
{
ProductCellInfo productItem = (ProductCellInfo)e.Item.DataItem;
if (productItem != null)
{
ProductFullNameCell productName;
ImageCell image;
ProductControlCell productControlCell;
foreach (Control sub in e.Item.Controls)
{
productName = sub as ProductFullNameCell;
if (productName != null)
{
productName.InitProductFullName(productItem.Title, productItem.PromotionTitle, DispalyContentLength);
continue;
}
image = sub as ImageCell;
if (image != null)
{
image.InitImageCell2(productItem.ID, productItem.Code, productItem.Name, productItem.ImageUrl, productItem.ImageVersion);
continue;
}
productControlCell = sub as ProductControlCell;
if (productControlCell != null)
{
productControlCell.InitProductControlCell(productItem);
continue;
}
}
}
}
方式三:
在aspx页面,可以显示设置OnItemDataBound属性,就不用像方式二那样,在cs文件中的OnInit方法中动态绑定,代码如下:
在cs文件:
protected override void BindDataSource()
{
base.BindDataSource();
this.rptListCell.DataSource = this.List;
this.rptListCell.DataBind();
}
protected void RptAllOnItemDataBound(object sender, RepeaterItemEventArgs e)
{
CategoryInfo category = (CategoryInfo)e.Item.DataItem;
PlaceHolder pHot = e.Item.FindControl("pHot") as PlaceHolder;
PlaceHolder pNew = e.Item.FindControl("pNew") as PlaceHolder;
Literal lit = e.Item.FindControl("literalValidGiftOption") as Literal;
switch (category.PromotionStatus)
{
case "H":
pHot.Visible = true;
break;
case "N":
pNew.Visible = true;
break;
default:
break;
}
lit.Text = category.Name;
}
repeater控件 php,Repeater控件绑定的三种方式相关推荐
- JS绑定事件三种方式
三种方式 1.在DOM中直接绑定 2.在JS代码中直接绑定 3.使用事件监听函数绑定事件 一.在DOM中直接绑定 也就是直接在html标签中通过 onXXX="" 来绑定.举个例子 ...
- html 数据双向绑定,javascript实现数据双向绑定的三种方式小结
前端数据的双向绑定方法 前端的视图层和数据层有时需要实现双向绑定(two-way-binding),例如mvvm框架,数据驱动视图,视图状态机等,研究了几个目前主流的数据双向绑定框架,总结了下.目前实 ...
- 原生JS事件绑定的三种方式
JavaScript绑定事件的方法 要想让 JavaScript 对用户的操作作出响应,首先要对 DOM 元素绑定"事件处理函数".所谓事件处理函数,就是处理用户操作的函数,不同的 ...
- android 加阴影,Android设置控件阴影的三种方式
释放双眼,带上耳机,听听看~! 第一种方式:elevation View的大小位置都是通过x,y确定的,而现在有了z轴的概念,而这个z值就是View的高度(elevation),而高度决定了阴影(sh ...
- React绑定this的三种方式
转载自 React绑定this的三种方式 React可以使用React.createClass.ES6 classes.纯函数3种方式构建组件.使用React.createClass会自动绑定每个方 ...
- SpringBoot配置绑定的两种方式
SpringBoot配置绑定的两种方式 演示文件 bean public class Student {private String name;private Integer age;public S ...
- java c 事件对比_javacsript绑定事件的三种方式与各自特点
javacsript绑定事件的三种方式与各自特点 javacsript绑定事件的三种方式与各自特点 点击打开链接 javacsript绑定事件的三种方式与各自特点 feipeng8848 2017-0 ...
- Javascript事件绑定的几种方式
Javascript事件绑定的几种方式 来源:http://www.cnblogs.com/rainman/archive/2009/02/11/1387955.html 上篇文章讲到了事件绑定的3中 ...
- JS实现双向绑定的几种方式
记录JS三种双向绑定 1.第一种是通过Proxy数据代理来达到双向绑定的,这是Vue3更新的双向绑定方式. <!DOCTYPE html> <html lang="en&q ...
最新文章
- RecyclerView + SnapHelper实现炫酷ViewPager效果
- 百度、头条、网易 Android 等社招面试题目
- 【渝粤教育】 国家开放大学2020年春季 1107传感器与测试技术 参考试题
- php聊天室禁止提交,phpcms v9禁止提交信息到官网方法详解
- Python实现CGI环境
- iOS中网络请求的使用(GET请求与POST请求)
- HDU 4857 逃生 (反向拓扑排序 容器实现)
- 力扣--48旋转图像(中等)
- python脚本用类编写_跟老齐学Python之编写类之二方法
- Ubuntu 优化、美化(主题、终端)
- 串口助手使用16进制发送数据
- 应急响应-记一次“完(sang)美(xin)无(bing)缺(kuang)”的SSH口令爆破
- ThinkPad 声卡出现未安装任何音频输出设备
- 融券余额大增,市场情绪极其悲观
- Modelsim软件仿真出错:Modelsim is exiting with code 7.
- CST微波工作室学习笔记2 主要特点
- JavaScript Reflect 学习笔记
- Ubuntu QT 5.9.0 安装
- 个总开源License授权
- uboot启动流程分析之六