b.aspx页面将html部分全部删除,仅仅留一行:
<%@ Page language="c#" Codebehind="b.aspx.cs" AutoEventWireup="false" Inherites="Test.Ajax" %>
原因是我们a页面要求返回的xml文档,因此,我们将Html标签部分删除。然后在b页面的Page_Load方法中,对数据库进行操作,然后数据写成xml的格式,例如:
// 数据库操作,得到DataTable dt
string xml = "<Data>";
foreach(DataRow row in dt.Rows) {
xml += "<City>";
xml += "<CityName>" + row["CityName"] + "</CityName>";
xml += "<CityCode>" + row["CityCode"] + "</CityCode>";
xml += "</City>";
}
xml += "</Data>";
// 清页面格式,写xml
Response.ClearContent();
Response.Cache.SetNoStore();
Response.ContentType = "text/xml";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.Write(xml);
string xml = "<Data>";
foreach(DataRow row in dt.Rows) {
xml += "<City>";
xml += "<CityName>" + row["CityName"] + "</CityName>";
xml += "<CityCode>" + row["CityCode"] + "</CityCode>";
xml += "</City>";
}
xml += "</Data>";
// 清页面格式,写xml
Response.ClearContent();
Response.Cache.SetNoStore();
Response.ContentType = "text/xml";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.Write(xml);
在整体运行之前可以先将b页面测试一下,如果得到类似如下结果,则说明,数据部分是没问题的。
- <Data>
- <Vendor>
<VendorId>7</VendorId>
<VendorName>千千</VendorName>
</Vendor>
</Data>
- <Vendor>
<VendorId>7</VendorId>
<VendorName>千千</VendorName>
</Vendor>
</Data>