2009-08-19 95 views

回答

1

gridview本身没有任何数据 - 所以你不能保存到磁盘。

你的gridview将被绑定到一个数据源 - 一个对象列表,一个DataTable,任何东西 - 这是的数据,并且可以保存到(并从磁盘加载)。

最简单的选择是将XML序列化到磁盘 - 或从那里加载它。您需要检查XML serialization

或者查看DataTable的ReadXmlWriteXml方法 - 它们允许您以XML格式将DataTable保存到磁盘上 - 或者从磁盘上的XML文件加载它。

它可以是如此简单:

DataTable myData = new DataTable(); 
myData.ReadXml(@"C:\temp\mydatafile.xml"); 

// do some processing 

myData.WriteXml(@"C:\temp\mydatafile.xml", XmlWriteMode.WriteSchema); 

UPDATE:
如果您想将XML存储到一个字符串,所以你可以转储到数据库中,使用此:

// write DataTable to memory stream as XML 
MemoryStream memStm = new MemoryStream(); 
myData.WriteXml(memStm); 

// read memory stream into a string variable 
memStm.Position = 0; 
string xmlContents = new StreamReader(memStm).ReadToEnd(); 

,然后将您的xmlContents存储到数据库。

Marc

+0

但是我不想访问硬盘的人。我只想将整个表格保存在数据库中的一个字段中。 – 2009-08-19 11:40:36

0

为什么要将历史数据存储在数据库中?为什么不保存QueryString或用于填充GridView并重新绑定数据的任何数据? ?

举例来说,如果您的用户导航到mypage.aspx ID = 56 &大小=大&日期=昨天

你可以加载一个JSON对象{ “ID” 这些选项: “56”,“大小“:”large“,”date“:”yesterday“}并将其存储在数据库中。然后,您的数据是最新的,大型数据集不会用冗余/过时的数据填满数据库表。

退房: http://www.codeplex.com/Json

编辑:如果你不想惹加json的周围,你可以用任何东西作为分隔符,例如,对不同的行和独立的键/值对他们用管道('|')

相关问题