在ASP.NET中使用無框架的Ajax事例
可能.net程序員手寫方法的時候很少,在初學時,就被前輩灌輸“使用框架!”、“用系統自帶方法!”這個概念,直接導致我們某方面相對孱弱。這也是為什么,用java寫Ajax例子信手拈來,而用C#寫,卻困難重重——網上很難找到不用Ajax.dll實現的例子。好了,閑話不說了,進入主題: 我們需要兩個頁面a.aspx、b.aspx,a頁面代碼如下(就用最常見的,兩個下拉列表連動的例子):
Code
當a頁面觸發onchange事件后,我們進入寫在a頁面的SetBList()方法中,這里將完整的js列出來:
Code
b.aspx頁面將html部分全部刪除,僅僅留一行:
Code
原因是我們a頁面要求返回的xml文檔,因此,我們將Html標簽部分刪除。然后在b頁面的Page_Load方法中,對數據庫進行操作,然后數據寫成xml的格式,例如:
Code //
// 數據庫操作,得到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);
在整體運行之前可以先將b頁面測試一下,如果得到類似如下結果,則說明,數據部分是沒問題的。
Code - <Data> - <Vendor> <VendorId>7</VendorId> <VendorName>千千</VendorName> </Vendor> </Data>
全站熱搜