如何序列化DATATABLE

WWW19721230 2009-07-30 09:48:17
自定义了一个控件.
其中需要在控件中暂时保存输入的数据.数据保存在DataTable中.
可是由于ViewStat中不支持DataTable的序列化.请问如何解决此问题
在网友的回答中有以 的作法.
在viewstate建立datatable

DataTable dt1 = new DataTable("Table1");
dt1.Columns.Add("品名");
dt1.Columns.Add("规格");
dt1.Columns.Add("规格ID");
dt1.Columns.Add("表色ID");
dt1.Columns.Add("表色");
dt1.Columns.Add("单位ID");
dt1.Columns.Add("单位");
dt1.Columns.Add("数量");
dt1.Columns.Add("箱数");
dt1.Columns.Add("客户品名");
dt1.Columns.Add("客户规格");
dt1.Columns.Add("客户产品编码");
this.ViewState.Add("myDataTable", dt1);


从viewstate取回datatalbe

DataTable dt1 = (DataTable)this.ViewState["myDataTable"];
从效果来看,可能用一次,当再向ViewState["myDataTable"]中
插入数据时,就会冲掉以前的数据.不能
请问有什么别的方法没有.
...全文
101 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2009-07-30
  • 打赏
  • 举报
回复
private static string SerializeDataTableXml(DataTable pDt) {
StringBuilder sb = new StringBuilder();
XmlWriter writer = XmlWriter.Create(sb);
XmlSerializer serializer = new XmlSerializer(typeof(DataTable));
serializer.Serialize(writer, pDt);
writer.Close();
return sb.ToString();
}

public static DataTable DeserializeDataTable(string pXml) {

StringReader strReader = new StringReader(pXml);
XmlReader xmlReader = XmlReader.Create(strReader);
XmlSerializer serializer = new XmlSerializer(typeof(DataTable));
DataTable dt = serializer.Deserialize(xmlReader) as DataTable;
return dt;
}

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧