成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在ASP.NET中使用無框架的Ajax實例

開發 后端
可能.net程序員手寫方法的時候很少,在初學時,就被前輩灌輸“使用框架!”、“用系統自帶方法!”這個概念,直接導致我們某方面相對孱弱。這也是為什么,用java寫Ajax例子信手拈來,而用C#寫,卻困難重重——網上很難找到不用Ajax.dll實現的例子。

我們需要兩個頁面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>

【編輯推薦】

  1. 初探ASP.NET MVC框架
  2. ASP.NET MVC案例教程
  3. ASP.NET六大實用技巧
責任編輯:楊鵬飛 來源: 博客園
相關推薦

2009-07-30 12:19:32

ASP.NET中使用A

2009-07-22 15:58:52

ASP.NET AJA

2009-07-20 16:45:41

使用StringBuiASP.NET

2009-07-21 17:27:12

UpdateProgrASP.NET AJA

2009-01-16 13:17:16

AjaxASP.NET.NET

2009-05-05 14:02:14

PlaceHolder控件ASP.NET

2009-07-27 09:07:04

Profile SerASP.NET AJA

2009-03-09 10:28:45

AJAXASP.NETWEB

2009-07-22 16:11:43

ASP.NET AJA

2009-07-22 16:17:39

ASP.NET AJA

2009-07-22 16:25:41

ASP.NET AJA

2009-07-24 13:41:15

ASP.NET AJA

2009-02-05 13:40:03

TreeviewXMLASP.NET

2009-07-22 16:05:34

ASP.NET AJA

2009-07-28 13:06:45

ASP.NET MVC

2009-01-08 10:20:56

AutoCompletAjaxASP.NET

2009-03-13 09:48:33

ASP.NETAjaxJQuery

2009-07-20 13:14:25

安裝ASP.NET A

2009-07-31 13:24:43

ASP.NET AJA

2009-07-30 12:30:27

ASP.NET中使用S
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品99久久久精品免费观看 | 国产高清在线精品一区二区三区 | 国产高清在线精品一区二区三区 | 亚洲综合视频 | 日韩www | 亚洲国产一区二区视频 | 亚洲一区二区免费电影 | 毛片网站在线观看 | 亚洲国产一区二区三区在线观看 | 成人精品| 亚洲精品乱码久久久久久黑人 | 久久精品视频网站 | 丝袜美腿一区二区三区 | 日韩不卡三区 | 成人在线免费 | 毛片毛片毛片毛片毛片 | 久久精品亚洲精品国产欧美 | 久久精品网 | 亚洲五码在线 | 玖玖视频免费 | 九色视频网站 | 国产成人在线看 | 精品二区视频 | 精品欧美激情精品一区 | 国产精品一区二区不卡 | 国产成人精品一区二区 | 一区二区三区日韩 | 欧美日韩在线视频观看 | 久久亚洲欧美日韩精品专区 | 真人女人一级毛片免费播放 | 中文字幕视频在线观看 | 精品一区二区三区在线观看 | 在线免费av电影 | 婷婷去俺也去 | 天天躁日日躁狠狠的躁天龙影院 | 亚洲视频在线看 | 99精品久久久久久 | 91精品久久久 | 黄色视频a级毛片 | 在线国产一区二区三区 | 久久人体 |