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

viewstate中dataset问题
最近写了个页面
  public   partial   class   test1:System.Web.UI.Page
{
private   DataSet   ds;
public   void   Page_Load(object   sender,EventArgs   e)
{
if(!page.IsPostback)
{
//对dataset进行初始化和赋值
ViewState[ "ds "]=ds;
}
else
{
ds=(DataSet)ViewState[ "ds "];
}
}
public   TestClicked(object   sender,EventArgs   e)
{
ds.Tables[0].Rows[0][ "test "]= "new ";
//问题就在此处,改变值之后,ViewState中的值就跟着改变,不知道是什么问题
//
}
}

------解决方案--------------------
session中存放hashtable好像也是这样,
应该只是放进去一个引用,还是指向ds本身,
如果修改了ds,那么从 viewstate中拿到的只是该ds的地址,其实还是它自己了,,,,,