偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

淺談Ajax在ASP.Net中的使用

開發(fā) 前端 后端
AJAX出來的時間也不短了。雖然它在某些方面很受爭議,但是瑕不掩瑜。AJAX不能說它屬于哪門語言,而是任何一門語言與JavaScript,XML的交叉。我覺得,說Ajax是任何一門WEB語言與DHTML、XML的交叉這樣更加合適。

Ajax在應(yīng)用中使用有3個部分(個人觀點):

1.數(shù)據(jù)(一般通過IE內(nèi)置組件Microsoft.XMLHTTP來取得或者發(fā)送數(shù)據(jù));

2.事件(事件指的是客戶端事件,如果是服務(wù)端事件,那么AJAX也就沒什么意義了);

3.綁定(暫且就叫綁定吧,也可以說是顯示,一般通過DHTML來完成)。

從上面看,Ajax就使用了Microsoft.XMLHTTP組件和DHTL。其實還有另外一部分,就是服務(wù)器端的處理。

一、簡單示例

就最簡單的原型來說,就是取得數(shù)據(jù):

a.aspx的內(nèi)容如下:

?。?div id="MyShow"/>

  < script language="JavaScript">

  var xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");

  //數(shù)據(jù)傳輸,flase為非異步方式

  xmlhttp.open("GET","a.aspx",true);

  xmlhttp.onreadystatechange=function() {

  if (xmlhttp.readyState==4) {

  MyShow.InnerText = xmlhttp.responseText;

  }

  if (xmlhttp.readyState==3) {

  MyShow.InnerText = ('正在提交數(shù)據(jù)');

  }

  }

  xmlhttp.send(null);

  }

 ?。?/script>

a.aspx提供數(shù)據(jù)xmlhttp.open("GET","a.aspx",true);就是請求a.aspx

if (xmlhttp.readyState==4) {

  MyShow.InnerText = xmlhttp.responseText;

  }

當異步請求完成時,用DHML改變MyShow的內(nèi)容。

二、GET方法

更改a.aspx如下:

< script runat="Server" language="C#">
string flag = Request["flag"] == null ? "" : Request["flag"];
switch(flag)
{
case "1":
Response.Write("11111111111111");
break;
case "2" :
Response.Write("22222222222222");
break;
}
< /script>

把b.aspx中xmlhttp.open("GET","a.aspx",true);改成xmlhttp.open("GET","a.aspx?flag=1",true);

則得到數(shù)據(jù)11111111111111

xmlhttp.open("GET","a.aspx",true);改成xmlhttp.open("GET","a.aspx?flag=2",true);

則得到數(shù)據(jù)22222222222222

三、POST方法

如果有這樣一個表單

< form method=post>

 ?。?input name="p1" type=text />

 ?。?input name="p2" type=submit/>

  < /form>

用AJAX就是

< div id="MyShow"/>

 ?。?script language="JavaScript">

  var xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");

  //數(shù)據(jù)傳輸,flase為非異步方式

  xmlhttp.open("Post","a.aspx",true);

  xmlhttp.onreadystatechange=function() {

  if (xmlhttp.readyState==4) {

  MyShow.InnerText = xmlhttp.responseText;

  }

  if (xmlhttp.readyState==3) {

  MyShow.InnerText = ('正在提交數(shù)據(jù)');

  }

  }

  xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

  xmlhttp.send("p1=qwdqwdqwdqwd"); //這里是POST要提交的數(shù)據(jù)。

  }

  < /script>

而一般模擬請求都是POST和Get同時存在的。只要把xmlhttp.open("Post","a.aspx",true);里a.aspx加上get請求部分就可以了。

而在.Net中特別得,可以把Ajax寫成服務(wù)器組件來使用?,F(xiàn)在在實際項目中如果使用Ajax很多的情況,就有個專門的組件來使用了。還有就是要注意,在很多時候Ajax的時候要設(shè)置頁面不緩存。而如果要兼容非IE內(nèi)核瀏覽器,那么就要注意各種內(nèi)核瀏覽器的JS是否兼容了。

【編輯推薦】

  1. AJAX和XmlHttpRequest下的Web開發(fā)
  2. ASP.NET Ajax中AutoComplete控件的使用
  3. 基于微軟ASP.NET AJAX框架開發(fā)幻燈片播放網(wǎng)頁
責任編輯:楊鵬飛 來源: IT專家網(wǎng)
相關(guān)推薦

2009-07-22 16:11:43

ASP.NET AJA

2009-07-21 09:53:55

ASP.NET AJAWCF服務(wù)

2009-04-21 09:37:50

ASP.NETAjaxJavaScript

2009-01-08 10:20:56

AutoCompletAjaxASP.NET

2009-07-30 12:19:32

ASP.NET中使用A

2009-07-23 15:44:39

ASP.NET MVC

2009-07-27 13:01:28

TreeViewASP.NET

2009-03-13 09:48:33

ASP.NETAjaxJQuery

2009-07-27 09:07:04

Profile SerASP.NET AJA

2009-01-03 08:41:51

Ajax無框架的AjaxASP.NET

2009-07-20 17:59:07

JavaScript調(diào)ASP.NET AJA

2009-07-20 13:54:31

ScriptManagASP.NET AJA

2009-07-21 17:18:26

UpdateProgrASP.NET AJA

2011-06-08 11:36:16

ASP.NETrender

2009-07-24 10:52:42

ASP.NET ISA

2009-07-22 16:05:34

ASP.NET AJA

2009-07-22 16:25:41

ASP.NET AJA

2009-07-24 13:41:15

ASP.NET AJA

2009-07-22 16:17:39

ASP.NET AJA

2009-07-20 15:30:11

ASP.NET應(yīng)用
點贊
收藏

51CTO技術(shù)棧公眾號