ASP.NET 与 Ajax 的实现方式
Ajax 应该不是一项技术,是一种思想而已,跟 ASP.NET 以及其它 Web 开发语言没有什么太大关系,这里只是谈谈 ASP.NET 中目前使用的 Ajax 技术以及其它一些实现 Ajax 的优秀框架。
Ajax 已经很流行一阵子了,现在谈 Ajax 觉得有点老土,-_____-```。目前所谓的 Web2.0 网站,基本上没有不使用 Ajax 的,就如使用 RSS 一样,就如同一个标签,贴上去就成了 2.0。Ajax 具体细节不谈,其目的就是让用户触发一些操作的时候,页面不会全部刷新,只刷新待更新的“部分页面”,加载数据的过程中,用 Loading 的图片来表示正在加载数据,不只是看起来挺不错,也提高了用户的访问体验,有一种酷酷的感觉。
至于 ASP.NET 中用到的 Ajax ,我想大多数人使用的是 Ajax.net / AjaxProfessional 或者 ASP.NET 2.0 中带有的 Atlas 框架。因为都用过,我感觉这些都不是很好的 Ajax 解决方案。
AjaxPro 用起来不是很方便,页面需要在 Page_Load 里面注册,类似于
而且 ASPX 页面要包含一个 Runat=Server 的<Asp:From> 标记,这样 Ajax.net 会将用到的一些通用函数以及你自定义的函数加载进来,如果没有 <Asp:From> 其实也可以,手动添加就可以了。但是,在我以前做过的应用中,时常出现的一些问题,比如,经常发现浏览器状态栏会有 js 脚本错误,而此时你所做的 Ajax 效果会全部失效,解决办法就是,把那个 Ajax.dll /AjaxPro.dll 给重新覆盖一下就可以了,问题的原因究竟是什么,目前还不知道。
至于 Atlas,我对它的感觉其实就跟对 DataGrid 的感觉一样,嗯,这种控件的好用是好用,很方便,但是,真正做一些 Web 应用的时候,你不得不考虑到性能以及分层等各种问题。我想,在比较正式的 Web 应用中,没几个人去用 DataGrid 去显示一些数据吧,建议大家尽量少用这些控件。另外就是,Atlas 的执行效率确实不够理想,一直在那里 Loading,等了好长时间,竟然出现什么脚本错误,汗。
那还有没有其它解决方案吗?你可以自己写些 Javascript 函数去实现。不过,我这里推荐用 jQuery这个 Javascript 框架,从百度百科引用一段对其的介绍:
看来这段介绍你会知道,Ajax 效果只是 jQuery 的众多功能的一种,一般来说,Web 应用中使用 Ajax,必然也离不开 Javascript,而 jQuery 正是为大家封装了一些 JS 函数,使得你不在被 JS 的纷繁复杂所担心,一切由 jQuery 帮你实现。
看一个小例子,就知道用 jQuery 做 Ajax 实在是太方便了。
比如某个 ASPX 或者 HTML 页面里面有个 Button,点击触发 Ajax 加载数据,显示到 <SPAN ID=News> 里面。点击那个 Button 触发一个 JS 函数即可:
function GetNews()
{
$("#News").html("Loading News......");
$.ajax({
type:"post",
url:"/ajax.aspx?act=getnews",
dataType:"html",
data:"",
success:function(result)
{
$("#News").html(result);
}
});
}
这个函数就会先在那个 SPAN 里面显示“Loading News....”,通过异步调用,访问 /Ajax.aspx 这个页面,通过传递的 URL 参数 act=News 告诉页面需要什么类型的数据,你可以根据不同的参数,将数据通过 Ajax.aspx 直接 Write 到页面上,然后返回给上述 JS 函数,呈现到页面上,就这样简单搞定!
当然,jQuery 里面并不是只有这一种 Ajax 效果实现方式,这里给出一些 jQuery 的资源,花上几个小时的时间学一下,很值得:
jQuery 官网:http://jquery.com/ jQuery 中文 API 文档: http://jquery.org.cn/visual/cn/index.xml jQeury 中文入门教程: http://www.k99k.com/jQuery_getting_started.html
至于其它的 Javascript 优秀框架有很多了,比如 Yahoo! User Interface Library,Prototype,Rico,Qooxdoo,Dojo 等,另外还有 Ajax 方面一些资源可以参考一下这里收集的资源。
ASP.NET 与 Ajax 的实现方式的更多相关文章
- ASP.NET之Ajax系列(二)
在上一次的Ajax操作中,我们使用了ASP.NET原生控件实现,但是弊端很多,效率低下,而且有个文件上传的BUG:http://blog.csdn.net/zhaoqiliang527/article ...
- ajax的post方式和get方式比较,以及需要注意的地方
说明:测试所用的js框架为kissy,后端语言为php 写在前面 目前我们可以将ajax请求的情形按照不同的类型进行分类,比如页面编码:utf-8 or gbk; ajax 传参方式 post or ...
- 在ASP.NET MVC中以post方式传递数组参数的示例
最近在工作中用到了在ASP.NET MVC中以post方式传递数组参数的情况,记录下来,以供参考. 一.准备参数对象 在本例中,我会传递两个数组参数:一个字符串数组,一个自定义对象数组.这个自定义对象 ...
- ASP.NET jquery ajax传递参数
第一种:GET传递 前台 ajax GET 传递 :即在请求的地址后面加上参数,URL地址长度有显示,安全性低 后台接收:Request.QueryString[“参数名字”]! 例如: func ...
- ASP.NET的GET和POST方式的区别归纳总结
表单提交中,ASP.NET的Get和Post方式的区别归纳如下 几点: 1. get是从服务器上获取数据,post是向服务器传送数据. 2. get是把参数数据队列加到提交表单的ACTION属性所指 ...
- ajax无刷新方式收集表单并提交表单
ajax无刷新方式收集表单有两种方式, 一个是使用html5的FormData.一个是传统的方式. 一,FormData,在主流的浏览器中可以用,IE不好用啊. 另外,FormData使用有两个条件, ...
- asp.net的ajax以及json
asp.net的ajax以及json 来现在这家公司以前,从未接触过webform,以前在学校做的项目是php,java以及asp.net mvc的,当时asp.net mvc用的是razor引擎,所 ...
- ASP.NET WebApi 基于分布式Session方式实现Token签名认证
一.课程介绍 明人不说暗话,跟着阿笨一起学玩WebApi!开发提供数据的WebApi服务,最重要的是数据的安全性.那么对于我们来说,如何确保数据的安全将会是需要思考的问题.在ASP.NETWebSer ...
- ASP.NET WebApi 基于分布式Session方式实现Token签名认证(发布版)
一.课程介绍 明人不说暗话,跟着阿笨一起学玩WebApi!开发提供数据的WebApi服务,最重要的是数据的安全性.那么对于我们来说,如何确保数据的安全将会是需要思考的问题.在ASP.NETWebSer ...
随机推荐
- ELK系列(4) - Elasticsearch cannot write xcontent for unknown value of type class java.math.BigDecimal
问题与分析 在使用Elasticsearch进行index数据时,发现报错如下: java.lang.IllegalArgumentException: cannot write xcontent f ...
- 解决Nginx启动失败
一.Nginx下载http://nginx.org/en/download.html 二.Nginx启动失败原因1.本人下载的是nginx-1.12.1(稳定版),下载完解压后,进入路径中,start ...
- mariadb yum安装
安装 yum install mariadb mariadb-server -y 启动 systemctl start mariadb systemctl enable mariadb 安全安装 # ...
- jmeter 签名MD5生成(转)
请求接口需要同时发送签名,签名定义为: 可以看出签名就是把用户的密码 .用户名 和签名key生成一个md5串就可以了 刚好jmeter 有个md5 生成,生成前需要获取name ,password k ...
- Windows安装IIS后,启动网站报错:不能在此路径中使用此配置节……
在IIS里启动设置好的网站(ASP.net网站),浏览器报如下错误: 不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的(overrideModeDefault= ...
- BZOJ 1924 && Luogu P2403 [SDOI2010]所驼门王的宝藏 恶心建图+缩点DP
记住:map一定要这么用: if(mp[x[i]+dx[j]].find(y[i]+dy[j])!=mp[x[i]+dx[j]].end()) add(i,mp[x[i]+dx[j]][y[i]+dy ...
- Vue 4 -- 获取原生的DOM的方式、DIY脚手架、vue-cli的使用
一.获取原生的DOM的方式 在js中,我们可以通过id.class或者标签获取DOM元素,vue中也为我们提供了获取原生DOM的方法,就是给标签或者组件添加ref属性,通过this.$refs获取,如 ...
- Linux命令发送Http的get或post请求(curl和wget两种方法)
Http请求指的是客户端向服务器的请求消息,Http请求主要分为get或post两种,在Linux系统下可以用curl和wget命令来模拟Http的请求.下面就来介绍一下Linux系统如何模拟Http ...
- jQuery Plugin Poshy Tip 使用 统一提示信息
项目到了后期,发现前端的提示信息不统一,解决思路如下: 1.回顾系统中tip出现的场景:表单验证提示信息.数据列表中随填随显 2.确定问题域:多条提示信息层叠.信息显示风格不统一 3.结论:找出一款合 ...
- springboot 参数校验详解
https://www.jianshu.com/p/89a675b7c900 在日常开发写rest接口时,接口参数校验这一部分是必须的,但是如果全部用代码去做,显得十分麻烦,spring也提供了这部分 ...