這期內(nèi)容當中小編將會給大家?guī)碛嘘P如何在ASP.NET中使用無框架的Ajax,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

站在用戶的角度思考問題,與客戶深入溝通,找到淶水網(wǎng)站設計與淶水網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務覆蓋淶水地區(qū)。
我們需要兩個頁面a.aspx、b.aspx,a頁面代碼如下(就用最常見的,兩個下拉列表連動的例子):
<body> <form id="Form1" method="post" runat="server"> <select id="AList" onchange="SetBList()"> <option value="0">A</option> <option value="1">B</option> <option value="3">C</option> </select> <select id="BList"></select> </form> </body> |
當a頁面觸發(fā)onchange事件后,我們進入寫在a頁面的SetBList()方法中,這里將完整的js列出來:
<script language="javascript">
var xmlHttp;
function SetBList() {
var avalue = document.getElementById("AList").value;
var url = "b.aspx?Avalue=" + avalue;
createXMLHttpRequest(); // 創(chuàng)建xmlHttp對象
xmlHttp.onreadystatechange = handleStateChange; // 當xmlHttp狀態(tài)碼發(fā)生改變時,調(diào)用handleStateChage方法
xmlHttp.open("GET", url, true); // GET方法發(fā)送請求
xmlHttp.send(null);
}
function BListInitial() {
// 先清空一下BList的option
clearBList();
var blist = document.getElementById("BList"); // 獲取BList對象
var rs = xmlHttp.responseXML.getElementsByTagName("City"); // 從返回xml文檔中,讀取<City>標簽的數(shù)據(jù)
// 這個循環(huán)取值的地方,卡了我一會,將xmlHttp.responseXML創(chuàng)建成一個xml文檔,然后找讀文檔的方法,但問題是不同瀏覽器創(chuàng)建xml文檔的方法不一樣
for(var i=0;i<rs.length;i++) {
var option = document.createElement("OPTION");
option.text = rs[i].getElementsByTagName("CityName");
option.value = rs[i].getElementsByTagName("CityCode");
blist.options.add(option);
}
}
function clearBList() {
var ven = document.getElementById("VendorList");
while(ven.options.length > 0)
ven.removeChild(ven.childNodes[0]);
}
function handleStateChange() {
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
BListInitial();
}
}
}
function createXMLHttpRequest() {
// IE
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
// Mozilla
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
</script>b.aspx頁面將html部分全部刪除,僅僅留一行:
<%@ Page language="c#" Codebehind="b.aspx.cs" AutoEventWireup="false" Inherites="Test.Ajax" %> |
原因是我們a頁面要求返回的xml文檔,因此,我們將Html標簽部分刪除。然后在b頁面的Page_Load方法中,對數(shù)據(jù)庫進行操作,然后數(shù)據(jù)寫成xml的格式,例如:
// 數(shù)據(jù)庫操作,得到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頁面測試一下,如果得到類似如下結(jié)果,則說明,數(shù)據(jù)部分是沒問題的。
- <Data> - <Vendor> <VendorId>7</VendorId> <VendorName>千千</VendorName> </Vendor> </Data> |
上述就是小編為大家分享的如何在ASP.NET中使用無框架的Ajax了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當前名稱:如何在ASP.NET中使用無框架的Ajax
當前網(wǎng)址:http://chinadenli.net/article46/goieeg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站設計公司、營銷型網(wǎng)站建設、服務器托管、微信公眾號、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)