日期:2014-05-19  浏览次数:20431 次

DataSource数据源怪问题求救
这两天一直被一个问题折腾的脑袋发疼
我在一个.aspx页面上放置了3个Repeater控件

在每个控件的DataSource多绑定了一个DataSet

                          DataSet   d   =   new   DataSet();

                          d   =   赋值一个DataSet;   //包含   a   b   c
                          Repeater1.DataSource   =   d;
                          Repeater1.DataBind();

                          d   =   又赋值一个DataSet;   //包含   e   f   g
                          Repeater2.DataSource   =   d;
                          Repeater2.DataBind();

                          d   =   又赋值一个DataSet;//包含       h   i   j
                          Repeater3.DataSource   =   d;
                        Repeater3.DataBind();

上面的代码能得到我正确的显示
a   b   c
----------
e   f   g
----------
h   i   j

                    然后我这个页面还有一些其他的数据需要绑定   我又调用了Page.DataBind
结果问题出来了   得到下面的显示
h   i   j
---------
h   i   j
---------
h   i   j

所有Repeater的数据源都变成了第三个.
我想可能是d   已经被覆盖的缘故,又做了修改
定义了3个DataSet   分别赋值给3个Repeater  
结果还是
h   i   j
---------
h   i   j
---------
h   i   j

最后面不用Page.DataBind();而再添加Repeater1.DataBind();到Repeater3.DataBind();之后发现出现结果

h   i   j
---------
e   f   g
---------
h   i   j

Repeater1的数据源又被Pepeater3覆盖了

难道在内存中只能存在一个DataSet   ??   一直不解中


------解决方案--------------------
跟踪一下三个dataset记录变化情况和repeater的datasource的变化情况>