中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在ASP.NET中使用無框架的Ajax

發布時間:2021-10-28 09:16:49 來源:億速云 閱讀:130 作者:柒染 欄目:編程語言

這期內容當中小編將會給大家帶來有關如何在ASP.NET中使用無框架的Ajax,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

我們需要兩個頁面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頁面觸發onchange事件后,我們進入寫在a頁面的SetBList()方法中,這里將完整的js列出來:

<script language="javascript">
var xmlHttp;

function SetBList() {
    var avalue = document.getElementById("AList").value;

    var url = "b.aspx?Avalue=" + avalue;
    createXMLHttpRequest();  // 創建xmlHttp對象
    xmlHttp.onreadystatechange = handleStateChange;  // 當xmlHttp狀態碼發生改變時,調用handleStateChage方法
    xmlHttp.open("GET", url, true);   // GET方法發送請求
    xmlHttp.send(null);
}

function BListInitial() {
    // 先清空一下BList的option
    clearBList();

    var blist = document.getElementById("BList");  // 獲取BList對象
    var rs = xmlHttp.responseXML.getElementsByTagName("City");  // 從返回xml文檔中,讀取<City>標簽的數據
    // 這個循環取值的地方,卡了我一會,將xmlHttp.responseXML創建成一個xml文檔,然后找讀文檔的方法,但問題是不同瀏覽器創建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方法中,對數據庫進行操作,然后數據寫成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);

在整體運行之前可以先將b頁面測試一下,如果得到類似如下結果,則說明,數據部分是沒問題的。

- <Data>
    - <Vendor>
        <VendorId>7</VendorId> 
       <VendorName>千千</VendorName> 
   </Vendor>
</Data>

上述就是小編為大家分享的如何在ASP.NET中使用無框架的Ajax了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

太白县| 英德市| 宁南县| 巫山县| 丹棱县| 荆州市| 宣化县| 高陵县| 乌拉特前旗| 孟村| 古蔺县| 忻州市| 澳门| 望谟县| 中阳县| 龙口市| 民勤县| 同仁县| 南和县| 垣曲县| 兴和县| 许昌市| 冷水江市| 剑川县| 揭东县| 宁陵县| 邵武市| 寿宁县| 乐亭县| 军事| 松滋市| 石家庄市| 广灵县| 许昌县| 隆化县| 曲松县| 太谷县| 丰都县| 香格里拉县| 龙南县| 望谟县|