用户控件与repeate的数据n绑定.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用户控件与repeate的数据n绑定

一、绑定Repeater控件的数据源 aspx.cs文件中绑定Repeater控件的数据源在BindDataSource()中: protected override void BindDataSource() { ?? this.rpID.DataSource = this.dataList; ?? this.rpID.DataBind(); } Repeater控件事件OnItemDataBound,表示在循环加载ItemTemplate列表时候,会对每一项Item进行具体的操作。 例子: ? Protected void rp_ItemDataBound(object sender,RepeaterItemEventArgs e) ? { ????? if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item) ????? { ????????? ListInfo Infos = this.rpID.DataSource as ListInfo; ????????? ????????? Info info = e.Item.DataItem as Info; ????????? Literal lt = e.Item.FindControl(lt) as Literal; ????????? lt.Text = Info.Title; ????? } ? } 可以看出来对于Repeater控件中的ItemTemplate里面的用户控件、服务器控件的赋值是在Repeater控件事件OnItemDataBound中进行的。 二、用户控件 用户控件T.ascx代码有: 字段: private string title; 属性: public string Title { ??? get ??? { ?????? return this.title; ??? } } 方法: SetTitle() { ??? this.title = Hello world!; } 其实这里的字段赋值也是可以用属性进行赋值的,不过要在属性声明中加上set部分。 那么这个T的用户控件的要是在Repeater控件中的ItemTemplate里面出现的话,是要在 Repeater控件事件OnItemDataBound里面进行具体的赋值的。 例子: ? Protected void rp_ItemDataBound(object sender,RepeaterItemEventArgs e) ? { ????? if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item) ????? { ????????? ListInfo Infos = this.rpID.DataSource as ListInfo; ????????? ????????? Info info = e.Item.DataItem as Info; ????????? T t = e.Item.FindControl(t) as T; ????????? t.SetTitle(info.Title); ????? } ? } 可以看到上面的操作已经把数据存到title字段里面了,在用户空间的T.ascx代码中用%=Title%来访问Title属性, 因为之前已经声明了Title属性的get部分。 三、一个简单的Reapter控件的使用全貌 在aspx页面中: asp:Repeater ID=rpID runat=server OnItemDataBound=rp_ItemDataBound ??? ItemTemplate ??????? asp:Literal ID=lt runat=server/asp:Literal ??? /ItemTemplate /asp:Repeater 在aspx.cs页面中: protected override void BindDataSource() { ?? this.rpID.DataSource = this.dataList; ?? this.rpID.DataBind(); } ? Protected void rp_ItemDataBound(object sender,RepeaterItemEventArgs e) ? { ????? if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType =

文档评论(0)

taobao9 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档