当前位置: 代码迷 >> ASP.NET >> asp.net的Cache的数据怎么读取呢
  详细解决方案

asp.net的Cache的数据怎么读取呢

热度:4424   发布时间:2013-02-25 00:00:00.0
asp.net的Cache的数据如何读取呢?
我在A页面里面。
C# code
 DataTable dt = B_Product.Instance.getBasicDataTable(); Cache.Insert("ProductData", dt);在A页面中提交了一这个数据集的ID到B页面

在B页面里面要读取Cache里面的数据
C# code
在这里怎么通过A页面的ID向cache里面获取那一行的数据呢        if (this.Cache!=null)            {                this.txtProductClassID.Text = this.Cache.Get("ProductID").ToString();            }

这样读不到数据。


------解决方案--------------------------------------------------------
dt是个DateTabe类型 你把它tostring取到是他的类名字 有两种做法 
1:放cache里面的数据放你DateTable里面ProductID本身的值而不是整个datatable
2:取数据的时候
var dt=this.Cache.Get("ProductID") as DataTable;
取dt里面Product的值
------解决方案--------------------------------------------------------
Sorry没看仔细 不过你的代码还是有问题
你把数据放到Cache里面用的键值是ProductData,但是你取cache的时候用的是键值ProductID, 这肯定取不到数据 而且我怀疑这里面是不是应该报个异常
------解决方案--------------------------------------------------------
转换后,如何通过传过来的ID对这个dataTable值进行找到相应行的数据呢?
-------------------------------------------------------
 var dt = this.Cache.Get("ProductData") as System.Data.DataTable;
System.Data.DataRow[] row= dt.Select("ID="+ID);
var ProductName= row[0]["ProductName"].ToString();
------解决方案--------------------------------------------------------
你那个是字符串的话需要引号 dt.Select("ID='" + ID+"'");
  相关解决方案