posts - 5,  comments - 5,  trackbacks - 0

          在一些頁面處理中,如果需要多次進行后臺提交處理的話,就會不停的刷新頁面,很煩人,特別是機器配置不好或者網絡狀況不好的情況下,更加顯得讓人難受。

          這種情況下我們可以利用XMLHTTP來實現不刷新的提交,這在做asp的時候就有不少這樣的應用,在asp.net里使用也是一樣的。

          首先,新建一個頁面,命名Send.aspx, 用來做需要提交的頁面,另一個頁面do.aspx, 用來做處理提交的頁面。

          在Send.aspx頁面中,有一個input輸入框,作為我們需要提交到后臺的數據,

          <input id="txtUser" type="text" runat="server">
          另外寫一個js的提交方法,代碼如下:

          function SendData(){
          var xh = new ActiveXObject("MSXML2.XMLHTTP");??
          xh.open("POST","do.aspx?ID=1",false);
          xh.send(document.all.txtUser.value);
          alert(xh.responseText);//打印XMLHTTP的返回數據}這個js方法非常簡單,定義一個XMLHTTP對象,然后就調用open方法和send方法,就可以了.
          再在頁面中用一個button來調用該方法,發送到do.aspx。

          在處理的頁面do.aspx,在對應的cs文件do.aspx.cs中,這樣來接收發送過去的數據:

          int id = 0;
          if(Request.Params["ID"] != null)
          {???
          //接收從url中傳遞過來的參數???
          id = int.Parse(Request.Params["ID"]);}
          //接收從xh.send()方法中傳遞過來的數據
          System.IO.Stream stream = Request.InputStream;
          System.IO.BinaryReader br = new System.IO.BinaryReader(stream, System.Text.Encoding.Default);
          int len = int.Parse(stream.Length.ToString());
          byte[] b = br.ReadBytes(len);
          //這里可以根據傳遞過來的參數和數據進行各種處理
          ////返回給發送頁面的數據,通過Response.Write()來傳遞
          //這里將發送過來的參數和數據返回
          Response.Write(id + System.Text.Encoding.Default.GetString(b));
          整個過程就這樣OK了。
          注意,在do.aspx文件的html代碼頁面中,如果存在任何的前臺代碼,都會作為send()請求的返回內容,一并返回到xh.responseText中。


          另外,可以用html頁面來替代上面的Send.aspx,按照相同的方法,來實現靜態頁面的數據提交。

          ?

          posted on 2006-12-27 18:17 曾科 閱讀(309) 評論(0)  編輯  收藏 所屬分類: JavaScript
          <2025年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章分類

          文章檔案

          相冊

          .net

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 翁源县| 鹤庆县| 蓬安县| 勐海县| 平远县| 晋江市| 旺苍县| 临猗县| 抚州市| 罗城| 名山县| 彭水| 温州市| 厦门市| 金堂县| 荥经县| 大足县| 建始县| 潢川县| 马鞍山市| 讷河市| 公主岭市| 兴安盟| 镇安县| 巫溪县| 宁海县| 万荣县| 博客| 张掖市| 韶山市| 闸北区| 青川县| 双鸭山市| 内江市| 海兴县| 浦城县| 湘潭市| 巴青县| 吉隆县| 满洲里市| 辽阳县|