仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1165|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET教程之座谈Ajax在ASP.Net中的利用

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-16 22:42:33 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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++产生以后就没有收到过好评。
沙发
 楼主| 发表于 2015-3-5 05:56:02 | 显示全部楼层
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-9 19:03

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表