刚才才发现在page_load中绑定好的datalist,在其他函数中无法调用datalist的datasource,显示的count是null可是在page_load中显示的确是有数据,这是怎么回事呢,同样的方法用在GridView中就好使,我就是想这样用:
List<Model> list = DataList_Plan.DataSource as List<Model>;

解决方案 »

  1.   

    这个行不通吧. 
    在页面加载之后,重新提交时,虽然datalist还在,但它的datasource却已经不在了,所以取不到
      

  2.   

    直接用个视图状态或是其他方法将datascourse保存供其他方法调用
    省得麻烦
      

  3.   

    有那么严重吗?难道数据量很大?
    我也觉得就重新读取一下。
    要是慢的话,可以考虑优化sql语句,分页读取,建索引等等办法。
      

  4.   

    DataList_Plan.DataSource  他是一个object类型的 应该可以被转换的 但 DataList_Plan.DataSource他设置的数据源类型要考虑能不能转换为你想要的类型
      

  5.   

    放入缓存读取吧
    Cache("dtSource") = dt
    Datatable dt = (Datatable)Cache("dtSource")只是cache清除 回收 不好控制,每次load页面时,注意重新读取数据放入缓存,不然多次打开缓存还是旧数据