之前传输都是用的list的实体类,现在列数不固定所以无法定义该实例类,我是新手,希望达人给予解决方案!
把返回结果改成 DataTable 就可以了.
服务器返回 string ,是DataTable 的 xml 格式,如下:
using (MemoryStream ms = new MemoryStream())
{
DataTable dt = new DataTable();
dt.WriteXml(ms);
ms.Seek(0, SeekOrigin.Begin);
using (StreamReader sr = new StreamReader(ms))
{
string dtXml = sr.ReadToEnd();
return dtXml;
}
}
客户端拿到这个string后,同样使用 DataTable.ReadXML()方法再读出来.
没有DataTable就没有DataTable啊,你可以直接在客户端用 xml 字符串,然后使用 XmlTextReader 把相关的值读出来赋给你的客户端绑定类。
另外,再给你推荐个SilverLight可以使用的 DataTable,DataSet:
http://silverlightdataset.net/silverlightdataset/Default.aspx
如果是用WCF创建的Web服务的话, 直接返回 DataTable 就可以。