亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

如何實現無刷新的DropdownList聯動效果

2019-11-18 19:33:30
字體:
來源:轉載
供稿:網友

    asp.net給我們帶了了事件模型的編程機制,這使得我們將所有的任務都放在服務器上執行哪怕是一個小小變動,其實這到不是什么問題,可是有一點我們無法忍受,如果我們改變某一個輸入框中的內容頁面要刷新,改變DropDownlist的選擇項需要更新另一個Dropdownlist需要刷新,真是郁悶。
       下面我將描述一種原始的方法,之所以說它原是是因為這種方法在ASP.NET之前就已經有了,我想這兩者之間的關系我不必詳細描述,我們今天要說的是如何不刷新頁面更新DropDownList,該方法旨在拋磚引玉,其實使用該方法可以實現許多不刷新網頁就和后臺交互的應用,好了廢話就不說了,看看我們的例子吧,首先我們需要一個放置兩個DropDownList的頁面,假如它叫WebForm2.aspx,頁面的代碼如下:
<%@ Page language="c#" Codebehind="WebForm2.aspx.cs" AutoEventWireup="false" Inherits="WebA<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>WebForm2</title>
  <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
  <meta content="C#" name="CODE_LANGUAGE">
  <meta content="
javaScr  <meta content="  <script>
      function load(state){
       var drp2 = document.getElementById("DropDownList2");
       for(var i = 0;i<=drp2.options.length -1;i++){
    drp2.remove(i);
       }
                            var oHtt
PReq = new ActiveXObject("MSxml2.xmlhttp");
       var oDoc = new ActiveXObject("MSXML2.DOMDocument");
       oHttpReq.open("POST", "webform6.aspx?state="+state, false);
       oHttpReq.send("");
       result = oHttpReq.responseText;
       oDoc.loadXML(result);
       items = oDoc.selectNodes("http://CITY/Table");
       for (var item = items.nextNode(); item; item = items.nextNode()){
    var city = item.selectSingleNode("http://city").nodeTypedValue;
    var newOption = document.createElement("OPTION");
    newOption.text = city;
    newOption.value = city;
    drp2.options.add(newOption);
       }
      }
  </script>
 </HEAD>
 <body MS_POSITIONING="flowLayout">
  <form id="Form1" method="post" runat="server">
   <asp:DropDownList id="DropDownList1" runat="server"></asp:DropDownList>
   <asp:DropDownList id="DropDownList2" runat="server"></asp:DropDownList>
  </form>
 </body>
</HTML>
        上面的頁面中有兩個DropDownList和一段js腳本,該腳本可以直接寫在頁面也可以寫在后臺在Regeist到頁面上(后者更靈活一些)該頁的后臺代碼如下所示,在Page_Load里面寫如下的代碼:
 if(!this.IsPostBack){
  SqlConnection con = new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=sa;");
  SqlDataAdapter da = new SqlDataAdapter("select state from authors group by state",con);
  DataSet ds = new DataSet();
  this.DropDownList1.DataTextField = "State";
  this.DropDownList1.DataValueField = "State";
  this.DropDownList1.DataBind();
  this.DropDownList1.Attributes.Add("onchange","load(this.options[this.selectedIndex].innerText)");
 }
       在上面的代碼中我們做了兩件事情:1、幫定其中一個DropDownList(你也可以同時綁定兩個)。2、指定該控件的客戶端腳本。下面我們詳細介紹一下上面的js代碼,首先得到頁面上要聯動的DorpDownList對象,將他的Options清空,再創建兩個客戶端對象oHttpReq和oDoc對象,其中一個負責發送請求另一個負責得到響應結果,我們將用戶選擇的State發送到名為WebForm6.aspx的頁面,該頁面將處理這個請求并返回一個響應,該響應的結果是一個XML文件,稍候介紹WebForm6.aspx里面的代碼。我們將返回的結果使用loadXML方法Load到oDoc對象里面,然后就可以使用selectNodes方法得到所有的city節點,接著循環這些節點在客戶端創建Option對象,最后將這些Option對象Add到DropDwonList2里面去。
        下面我們看看WebFowm6.aspx都做了些什么事情,該頁面的HTML頁面是一個除了包括<@Page>指令意外什么都沒有的頁面,后臺的Page_Load代碼如下:
 private void Page_Load(object sender, System.EventArgs e){
  // Put user code to initialize the page here
  if(this.Request["state"]!=null){
  string state = this.Request["state"].ToString();
  SqlConnection con = new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=sa;");
  SqlDataAdapter da = new SqlDataAdapter("select city from authors where state = '"+state+"'",con);
  DataSet ds = new DataSet("CITY");
  da.Fill(ds);
  XmlTextWriter writer = new XmlTextWriter(Response.OutputStream, Response.ContentEncoding);
  writer.Formatting = Formatting.Indented;
  writer.Indentation = 4;
  writer.IndentChar = ' ';
  ds.WriteXml(writer);
  writer.Flush();
  Response.End();
  writer.Close();
 }
         該方法得到用戶選擇的state通過查詢以后得到一個DataSet對象,使用該對象的WriteXML方法直接將內容寫到Response.OutputStream里面然后傳遞到客戶端,客戶端的load方法通過result =oHttpReq.responseText;句話得到一個XML字符串,最后解析此串。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩亚洲在线观看| 久久亚洲欧美日韩精品专区| 日韩av在线免费观看一区| 国产午夜精品麻豆| 日韩欧美国产中文字幕| 欧美风情在线观看| 日韩在线免费av| 精品视频在线播放免| 亚洲国产毛片完整版| 日韩欧美精品网址| yellow中文字幕久久| 日韩毛片在线看| 992tv在线成人免费观看| 欧美色视频日本高清在线观看| 亚洲成人久久电影| 亚洲欧洲第一视频| 亚洲一区二区三区xxx视频| 在线观看精品自拍私拍| 亚洲最大av网站| 久久久久成人网| 日韩免费视频在线观看| 亚洲精品一区在线观看香蕉| 一区二区三区美女xx视频| 国产精品成人免费视频| 国产成人涩涩涩视频在线观看| 亚洲欧美三级在线| 4p变态网欧美系列| 在线电影欧美日韩一区二区私密| 亚洲国产欧美一区二区三区同亚洲| 国产午夜精品免费一区二区三区| 久久中国妇女中文字幕| 欧美激情aaaa| 精品中文字幕在线2019| 中文日韩在线观看| 色综合久久久888| 欧美三级欧美成人高清www| 夜夜嗨av一区二区三区免费区| 久久久99久久精品女同性| 国产一区二区三区视频| 欧美激情精品久久久久久黑人| 日韩高清电影免费观看完整| 久久91超碰青草是什么| 一区二区亚洲精品国产| 欧美激情在线观看视频| 亚洲精品在线视频| 欧美激情一区二区久久久| 欧美日韩成人在线观看| 亚洲欧美变态国产另类| 尤物yw午夜国产精品视频| 欧美交受高潮1| 日韩在线观看免费全集电视剧网站| 欧美肥老太性生活视频| 日韩成人中文电影| 97国产一区二区精品久久呦| 日韩欧美中文免费| 亚洲国产欧美日韩精品| 亚洲人成人99网站| 日韩av一区二区在线| 色偷偷综合社区| www.xxxx欧美| 久久精品国产2020观看福利| 欧美日韩亚洲国产一区| 色综合色综合久久综合频道88| 91av在线不卡| 亚洲精品91美女久久久久久久| 一区二区三区无码高清视频| 丝袜情趣国产精品| 欧美在线视频免费| 亚洲精品国产精品久久清纯直播| 精品亚洲精品福利线在观看| 欧美另类极品videosbestfree| 欧美极品少妇全裸体| 欧美极品美女视频网站在线观看免费| 色老头一区二区三区| 在线不卡国产精品| 永久555www成人免费| 日韩人体视频一二区| 这里只有精品久久| 午夜精品福利视频| 国产精品视频白浆免费视频| 中文字幕av一区二区三区谷原希美| 久久久精品久久久久| 国产成人亚洲综合91精品| 亚洲国产精品专区久久| 大荫蒂欧美视频另类xxxx| 欧美肥臀大乳一区二区免费视频| 久久久久国产视频| 欧美性猛交xxxx乱大交3| 日韩免费av在线| 97人洗澡人人免费公开视频碰碰碰| 欧美孕妇孕交黑巨大网站| 一本色道久久88综合亚洲精品ⅰ| 欧美激情喷水视频| 久久久精品国产亚洲| 亚洲电影在线看| 久久人人爽人人爽人人片av高清| 国产不卡一区二区在线播放| 中文字幕av一区二区三区谷原希美| 亚洲欧美制服第一页| 国产在线拍偷自揄拍精品| 久久视频在线视频| 亚洲最大的免费| 精品国产一区二区三区在线观看| 一区二区三区国产在线观看| 欧美一级电影免费在线观看| 日韩电影免费在线观看| 国产精品99一区| 亚洲va国产va天堂va久久| 91久久国产精品91久久性色| 精品福利一区二区| 亚洲一二三在线| 黄网动漫久久久| 亚洲va欧美va国产综合久久| 美女国内精品自产拍在线播放| 亚洲自拍另类欧美丝袜| 国产91网红主播在线观看| 欧美一级片在线播放| 久久久精品欧美| 欧美大片大片在线播放| 亚洲free性xxxx护士hd| 久久免费高清视频| 亚洲日韩中文字幕| 国产主播喷水一区二区| 国产精品午夜国产小视频| 精品久久久一区二区| 久久五月天色综合| 欧美电影在线观看高清| 成人免费高清完整版在线观看| 亚洲男人第一av网站| 国产精品一区二区久久久久| 久热精品在线视频| 亚洲欧美国产精品| 亚洲精品成人av| 美女精品视频一区| 伊人久久久久久久久久久| 色婷婷av一区二区三区久久| 欧美洲成人男女午夜视频| 久久精品国产精品| 精品一区二区亚洲| 狠狠爱在线视频一区| 久久精品国产一区二区三区| 国产精品美女在线观看| 国产日本欧美在线观看| 久热在线中文字幕色999舞| 一区二区三区日韩在线| 欧亚精品中文字幕| 免费91麻豆精品国产自产在线观看| 久久深夜福利免费观看| 久久久av一区| 久久中文字幕在线视频| 久久亚洲精品小早川怜子66| 超碰91人人草人人干| 欧美日韩中文字幕在线视频| 91精品啪aⅴ在线观看国产| 亚洲人成网站777色婷婷| 成人综合国产精品| 亚洲第一国产精品| 国产精品三级美女白浆呻吟| 欧美日韩在线免费| 91av视频在线观看| 97久久久免费福利网址| 国模吧一区二区三区| 91精品久久久久久久久青青| 国产不卡一区二区在线播放|