就是我想用asp.net做个ajax的显示,后台我能得到个datatable,前台我至少要传两个值到后台,我要用xml的方式。
后台通过怎么处理这个datatable通过response到前台,使得前台可以使用。------这个是重点
我想转换成xml,不要json,我的数据用json有问题。
希望能给出具体的代码,主要要后台的代码,前台的给出来也最好,我最少要向后台传两个值。
------解决方案--------------------
将DataTable序列化为XML字符串然后输出就好了
xxxx.aspx
- C# code
public string DataTableToXMLString(System.Data.DataTable dt)
{
if (dt == null) return null;
System.Text.StringBuilder sXML = new System.Text.StringBuilder();
System.IO.StringWriter sWriter = new System.IO.StringWriter(sXML);
System.Xml.XmlTextWriter xWriter = new System.Xml.XmlTextWriter(sWriter);
if (string.IsNullOrEmpty(dt.TableName)) dt.TableName = "row";
try
{
dt.WriteXml(xWriter);
return sXML.ToString();
}
catch { }
finally { sWriter.Close(); xWriter.Close(); }
return null;
}
protected void Page_Load(object sender, EventArgs e)
{
string v1=Request.Form["v1"],v2=Request.Form["v2"];
if (string.IsNullOrEmpty(v1)&&string.IsNullOrEmpty(v2)){
DataTable dt;
//通过v1,v2读取数据库填充DataTable
string xml=DataTableToXMLString(dt);/////
Response.ContentType = "text/xml";//////////
Response.Write(xml);///////
Response.End();///////
}
}