读书人

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

发布时间: 2012-05-01 12:48:58 作者: rapoo

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+"'");

读书人网 >asp.net

热点推荐