Lv3MainList =Lv3MainList.ToList();
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/

解决方案 »

  1.   

    感谢楼上解答不过现在有遇到了一个问题,就是成功显示分页后,前后页按钮,页面数连接都不起作用了,我加了
     protected void Lv3MainListItems_PagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
            {
                this.Lv3MainListItemsPager.SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
                Lv3MainListItems.DataBind();
            }之后,页面编号起作用,前后页按钮还是不起作用,不知道该怎么解决...另外不知道为何必须在aspx页面前加EnableEventValidation="false",不然也会报错
      

  2.   

    我是把数据查询和绑定的代码放在Page_Load里
    是不是应该放在PreRender里?
      

  3.   


    数据库查询应该放在你的数据库访问层绑定的代码你根据需要放在页面的cs文件里你那错误 原因是因为你查询出来的var Lv3MainList 是一个IEnumerable 而 IEnumerable
    没有实现ICollection 接口,所以要把Lv3MainList tolist();toList后,就是一个实现了IList列表的集合
    而IList实现了ICollection 接口
    所以不错错了!
    var Lv3MainList = (from main in ArticleDataSet.Tables[0].AsEnumerable()
                                      join ExtSpeaker in ArticleSpeakerDataSet.Tables[0].AsEnumerable() on main.Field<string>("ArticleGUID") equals ExtSpeaker.Field<string>("articleguid")
                                      join ExtSpeakerInfo in ArticleSpeakerInfoDataSet.Tables[0].AsEnumerable() on main.Field<string>("ArticleGUID") equals ExtSpeakerInfo.Field<string>("articleguid")
                                      join ExtDuration in ArticleDurationDataSet.Tables[0].AsEnumerable() on main.Field<string>("ArticleGUID") equals ExtDuration.Field<string>("articleguid")
                                      select new
                                      {
                                          ArticleGUID = main.Field<string>("ArticleGUID"),
                                          Title = main.Field<string>("Title"),
                                          CreateTime = main.Field<DateTime>("CreateTime"),
                                          Filename = main.Field<string>("Filename"),
                                          Speaker = ExtSpeaker.Field<string>("PropertyValue"),
                                          SpeakerInfo = ExtSpeakerInfo.Field<string>("PropertyValue"),
                                          Duration = ExtDuration.Field<string>("PropertyValue")
                                      }).ToList();Lv3MainListItems.DataSource = Lv3MainList;
                 Lv3MainListItems.DataBind();
    这样也不会报错了
      

  4.   

    感谢楼上前辈解答 
    前辈说的 数据库访问层 是否是用一个单独的类存放查询方法?还是不知道dataPager 页数字 和 翻页按钮 为什么不起作用?