|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我感觉可以顶到50楼,出乎意料的是大家居然纷纷写出自己的博文,还被编辑做成了专题,置于首页头条。ajax|asp.netAJAX出来的工夫也不短了。固然它在某些方面很受争议,可是白璧微瑕。AJAX不克不及说它属于哪门言语,而是任何一门言语与JavaScript,XML的交织。我以为,说Ajax是任何一门WEB言语与DHTML、XML的交织如许加倍符合。
以下只会商IE部分。
Ajax在使用中利用有3个部分(团体概念):
1、数据(一样平常经由过程IE内置组件Microsoft.XMLHTTP来获得大概发送数据);
2、事务(事务指的是客户端事务,假如是服务端事务,那末AJAX也就没甚么意义了);
3、绑定(临时就叫绑定吧,也能够说是显现,一样平常经由过程DHTML来完成)。
从下面看,Ajax就利用了Microsoft.XMLHTTP组件和DHTL。实在另有别的一部分,就是服务器真个处置。
1、复杂示例
就最复杂的原型来讲,就是获得数据:
a.aspx的内容以下:
aaaaab.aspx获得
<divid="MyShow"/>
<scriptlanguage="JavaScript">
varxmlhttp=newActiveXObject("Microsoft.XMLHTTP");
//数据传输,flase为非异步体例
xmlhttp.open("GET","a.aspx",true);
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
MyShow.InnerText=xmlhttp.responseText;
}
if(xmlhttp.readyState==3){
MyShow.InnerText=(正在提交数据);
}
}
xmlhttp.send(null);
}
</script>
a.aspx供应可数据
xmlhttp.open("GET","a.aspx",true);就是哀求a.aspx
if(xmlhttp.readyState==4){
MyShow.InnerText=xmlhttp.responseText;
}
当异步哀求完成时,用DHML改动MyShow的内容。
2、GET办法
变动a.aspx以下:
<scriptrunat="Server"language="C#">
stringflag=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);
则失掉数据11111111111111
xmlhttp.open("GET","a.aspx",true);改成xmlhttp.open("GET","a.aspx?flag=2",true);
则失掉数据22222222222222
3、POST办法
假如有如许一个表单
<formmethod=post>
<inputname="p1"type=text/>
<inputname="p2"type=submit/>
</form>
用AJAX就是
<divid="MyShow"/>
<scriptlanguage="JavaScript">
varxmlhttp=newActiveXObject("Microsoft.XMLHTTP");
//数据传输,flase为非异步体例
xmlhttp.open("Post","a.aspx",true);
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
MyShow.InnerText=xmlhttp.responseText;
}
if(xmlhttp.readyState==3){
MyShow.InnerText=(正在提交数据);
}
}
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send("p1=qwdqwdqwdqwd");//这里是POST要提交的数据。
}
</script>
而一样平常摹拟哀求都是POST和Get同时存在的
只需把
xmlhttp.open("Post","a.aspx",true);
里a.aspx加上get哀求部分就能够了。
而在.Net中出格得,能够把Ajax写成服务器组件来利用。如今在实践项目中假如利用Ajax良多的情形,就有个专门的组件来利用了。另有就是要注重,在良多时分Ajax的时分要设置页面不缓存。而假如要兼容非IE内核扫瞄器,那末就要注重各类内核扫瞄器的JS是不是兼容了。
在VC.net的版本上,为了让C++运行在.NETFramework中,微软为C++引进了托管,就是托管C++(ManagedC++),这个根本就没有流行起来,自托管C++产生以后就没有收到过好评。 |
|