• Repeater 嵌套 绑定数据,嵌套的Repeater无法绑定的问题


    Repeater 嵌套 绑定数据,嵌套的Repeater无法绑定的问题
    今天做绑定遇到了这个么个问题,绑定的事件ItemDataBound()跟之前的并没有

    改动,为什么会出现绑定失败的问题呢?要是你也有这个疑问,就一起来学习一

    下吧。
    首先展示一下外层Repeater的数据源绑定。
    drpClass1.DataSource=WebBLL.Tbl_ClassManager.GetDataTableByPID(1);
    drpClass1.DataBind();
    注意此处的数据源一般为list或者datatable,2中数据源格式。
    再来看一下外层Repeater的ItemDataBound()的方法。
    protected void repYiliaoFenlei_ItemDataBound(object sender,

    RepeaterItemEventArgs e)
            {
                if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType

    == ListItemType.AlternatingItem)
                {
                    Repeater rep_sub = e.Item.FindControl

    ("repYiliaoFenlei_sub") as Repeater;
                    if (rep_sub == null) { return; }
                    System.Data.DataRowView dr = e.Item.DataItem as

    System.Data.DataRowView;
                    if (dr == null) { return; }
                    rep_sub.DataSource =

    WebBLL.Tbl_ClassManager.GetTbl_ClassAllByPID(Convert.ToInt32(dr

    ["ID"]));
                    rep_sub.DataBind();
                }
            } 
    我想这些东西就不用解释了吧。
    问题来了,不管是你 外层的repeater有没有数据,内层的repeater虽然不会报错

    ,但是,数据绑定不上。为什么嘛?
    步入调试环节吧。
    。。。。。。
    经调试,  Repeater rep_sub = e.Item.FindControl("repYiliaoFenlei_sub")

    as Repeater;
    这一句话没问题啊。rep_sub 也能找到啊。不为null啊
    OK,下一步,,,e.item.dataitem 也没问题啊。也能找到值啊
    接下来,,不会啊。为什么会 进入 dr=null呢。。
    as导致的?
    来看看吧。
    。。。
    果然,System.Data.DataRowView; 这个地方是转换失败的?
    为什么呢?
    。。。。。
    自己仔细看看
    外层的repeater绑定的数据源是list的时候,这个地方的dr 是一直为null的。
    但是数据源是datatable的时候,确不会出现这样的问题.
    为什么呢?个人的理解:DataTable是表,里面有行列数据,一般是从数据库里取

    出来的数据绑定过来的。利于筛选和汇总。话说。datatable就是一个二维表。
    二list是一些对象的集合或者是实体对象。list用起来,遍历,增加,减少都比

    较方便。这个list 只是一个一个的被对象化的数据模型。
    所以。list转换为行对象是失败的。看明白没?

    /*
    以上内容为本人业余时间整理,部分内容来源网络,如有错误欢迎各位批评指正。


    */
  • 相关阅读:
    [转]oracle in 多个字段
    [转][MVC4]ASP.NET MVC4+EF5(Lambda/Linq)读取数据
    SQL Server “复制”表结构,创建_Log表及触发器
    [转]WordPress主题开发:主题初始化
    struts2请求过程源码分析
    java调优
    websocket之四:WebSocket 的鉴权授权方案
    高可用性及容灾的几个衡量指标
    Struts2返回JSON对象的方法总结
    java websocket @ServerEndpoint注解说明
  • 原文地址:https://www.cnblogs.com/Lin267307031/p/2950264.html
Copyright © 2020-2023  润新知