日期:2014-05-18  浏览次数:20496 次

属性中的ViewState怎么不起作用
下面这个属性,ViewState起不了作用,不能保存值,请高手解释一下,

public DataTable TextValue_DataTable
  {
  get
  {
  if (ViewState["TextValue_DataTable"] == null)
  {
  DataTable dt = new DataTable();
  dt.Columns.Add("Text", typeof(string));
  dt.Columns.Add("Value", typeof(string));
  ViewState["TextValue_DataTable"] = dt;
  }
  return (DataTable)ViewState["TextValue_DataTable"];
  }
  set
  {
  ViewState["TextValue_DataTable"] = value;
  }
  }

------解决方案--------------------
用字典,哈希表,数组,对象集合,列表,任何可串行化的东东都可以
就是不要用DataTable
Viewstate不一定能保存得了DataTable,你就是要尝试也要用DataTable.DefaultView试试看
但是我还是要强调,有时候有用,有时候没有,有时候会截断数据而不会引发异常