Asp.net中的AJAX学习记录之一 AJAX技术的崛起与Asp.net AJAX的诞生

简介:
   最近开始学习Asp.net中的AJAX,可能我的高手朋友们会说:“走还不稳呢!怎么就想学跑了?”呵呵!主要是我在做项目中体会到AJAX真的是很好的一门技术,应该好好的学习一下,以后也作为自己的一个技术点,慢慢的积累,逐渐掌握。下面是我在我现在学习的《ASP.net AJAX与Silverlight 实战手册》中摘抄的部分文章话语,写的很明了,至少我一遍就看懂了笔者所描述的AJAX产生的背景,()之中加入了我的理解及现实实例,把它费时的打出来,让路过的朋友也可以分享一下。
         在网页开发模式的不断进化之时,原本理所当然的页面刷新操作,慢慢的也变成一种不友善、没有效率的表现,随着网页上呈现的内容越来越多,样式越老越多元化,与用户互动的部分也越来越多。(每次刷新其实就以为着再次打开这个页面后,所有用户操作的旧的信息都会全部归0,相信大家都遇到过注册用户这个步骤吧,我的一个高手朋友周公,就在他的博客中,谈到过他曾经遇到过的一件事,很多年前,带宽很窄,在他填写完一个网站的注册信息后,若干分钟后,弹出“用户名已存在”的对话框,乃至他对此事记忆犹新。同样在我们按照注册要求填写好信息提交后,最不想看到的就是非用户操作引起的注册失败,比如许多与数据库相关的验证、储存数据等操作最后还得送到服务端来处理,早期的技术不能实现想现在大多网站在我们输入用户名后,点击网页提供的按钮,提前检查你所登记的用户名是否存在的这个注册失败条件,你不必等待网站的反馈信息,可以继续填写余下的注册条件,即使返回了失败的信息,你只需修改新的用户名,不会影响你已经填写好下面的信息,这种(AJAX)技术实现了网页的局部刷新,提高了用户操作的方便性。)
        XMLHttpRequest的诞生
 
        页面刷新是为了要将数据送回服务器端,然后有服务器端取得更新后的页面来显示,那么如果能在不刷新页面的情况下,将数据送往服务器端,就解决了页面刷新的问题了。很幸运地,有微软推出的IE打破了这个僵局,在XML盛行的初期,修改了一部分浏览器的设计概念,允许设计师在js中创建一个 ActiveX它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中。http://www.baidu.com/s?wd=ActiveX)对象 :XMLHttpRequest,利用这个对象,设计师可以用js将数据直接送到服务器而不引发页面刷新的操作,只是在当时这个功能没有公认的成为浏览器的标准,直至今日,除了IE其他的主流浏览器,如Netscape、Mozilla都已支持同样的功能,让XMLHttpRequest在一瞬间成了标准之外的热门技术,以此对象为核心的新名词AJAX全名是“Asynchronous JavaScript And XML” 也就诞生了,Asynchronous的语义来源于XMLHttpRequest所采取的异步行为模式,使用XMLHttpRequest发送数据时,必须指定一个接收返回数据的函数,送出数据后,客户端不必停下来等候数据的返回,XMLHttpRequest取得返回数据后,会调用指定的函数将数据传过去。
      在创建XMLHttpRequest对象时,指定processRequest函数为收取返回数据的函数,在XMLHttpRequest的send函数被调用后,XMLHttpRequest即发送要求,需特别注意的一点是,send函数不会像传统函数调用般等待要求被处理后而收取返回值,而是直接返回,继续运行下面的js程序,或将主导权还给浏览器,此行为模式正是AJAX中的Asynchronous语义来源。AJAX中的J代表JavaScript,虽然IE可以用vbscript来使用XMLHttpRequest对象,但是JavaScript才是诸多浏览器所支持的标准语言,因此AJAX中的J代表的是启动XMLHttpRequest对象时所使用的语言。AJAX中的第二个A代表的是and,最后的X代表的是使用XMLHttpRequest对象是所使用的数据协议,也就是XML文件格式。
    百家争鸣的AJAX Framework
 
      在XMLHttpRequest受到瞩目不久,网络上开始出现许多以XMLHttpRequest为根基的Framework,这些FrameWork大多数是以开源的方式授权,大致可以分为两大派别:一派:主张单纯的js来构建UI(即User Interface(用户界面)的简称),再利用XMLHttpRequest与服务器沟通,这个派别产品最大的特色就是绚丽的ui效果及最小化后端依赖的设计;另一派则是维持以后端为主、js为辅的架构,这个派别的产品最大的特色技术后端依赖比较搞,适合对JavaScript不甚熟悉的设计师选用。
 
    是终点还是起点,Silverlight、AIR、JavaFX
 
       2005年12月5日, Adobe(http://zhidao.baidu.com/question/10066667.html?si=1)公司以34亿美元的天价收购了以Flash风靡全球的Macromedia(http://baike.baidu.com/view/8375.htm)后,喊出了RIA的概念,推出了AIR(她的全称是”Adobe Integrated Runtime”由Adobe开发, 原代号为Apollo(阿波罗),她是一个跨操作系统运行环境,允许开发人员利用他们现有的网络开发技术(如Flash, Flex, HTML, JavaScript, PDF)在桌面系统建立和部署富互联网应用。
从本质上讲,她提供了一个桌面与浏览器结合的平台,并达到网络模式结合桌面模式功能和丰富形式的开发模式。)的产品线,将html由主角变成配角,在网页上体现出友善、类似Windows GUI(就是WINDOWS的图形用户接口,像windows对话框、菜单等)的界面。面对Adobe公司的大动作,身为开发工具领导厂商的sun与microsoft当然不能落后,microsoft首先推出了Silverlight,而且一次推出两个世代的产品,silverlight1.0不久拥有与Flash不相上下的2D绘图及影音支持,更好的是它使用js为主要开发之程序语言,silverlight1.1 Alpha则更进一步,资产c#、vb.net等.net程序语言,提供小型的.net FrameWork(SLR)让原本使用.net Framework的程序员更轻松地利用silverlight1.1来构建新一代的RIA网页应用程序。随后sun公司则推出了JavaFX,同样支持2D绘图与影音能力,JavaFX的目标似乎不在桌面应用上,而是在消费性电子产品上。
          Asp.net  AJAX的诞生
 
         2005年下半年microsoft推出了ASP.net专属的AJAX Framework:Atlas Framework。与其他AJAX Framework不同的是,Atlas以client与server端集成的角度来实现AJAX技术,除了提供了以js所打造的而成的AJAX Client Framework 之外,Atlas同时也提供了数个ASP.net server control,借助这些控件的强力支持,Atlas Framework可以让开发者一行js代码都不用写,建构出拥有AJAX功能的ASP.net网页应用程序。其中最令人感到震撼的是updatepanel控件,其内可以放入大多数的ASP.net控件,2007年推出Atlas Framework的正式版,更名为 ASP.NET AJAX Framework。但是只有ASP.net 2.0才能享受到ASP.NET AJAX 带来的便利。获得ASP.NET AJAX 的方法很简单,只要链接到ASP.NET AJAX 的下载网页即可下载。(Http://www.asp.net/ajax/downloads)(vs2008专业版中自带了ASP.NET AJAX ,不需再按装)。   
本文转自叶子文文博客51CTO博客,原文链接http://blog.51cto.com/leafwf/185677如需转载请自行联系原作者

叶子文文
相关文章
|
1月前
|
开发框架 前端开发 JavaScript
ASP.NET AJAX使用方法概述(三)
ASP.NET AJAX使用方法概述(三)
19 1
|
10天前
|
开发框架 JSON .NET
学习ASP.NET 中的 默认应用程序配置源
默认主机配置源 使用命令行配置提供程序的命令行参数
14 2
|
11天前
|
Linux C# C++
【.NET Developer】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
本文介绍了如何使用VS2019和.NET框架创建一个Blazor应用,并将其部署到Azure应用服务。首先,Blazor是一个使用C#而非JavaScript构建交互式Web UI的框架,支持共享服务器和客户端应用逻辑,以及与Docker和Azure集成。任务包括创建Blazor项目,配置Dockerfile为Linux容器,本地测试,发布到Azure Container Registry (ACR),然后在Azure App Service for Container上部署。在部署过程中,需确保Docker设置正确,开启ACR的Admin访问权限,并监控镜像拉取和容器启动日志。
|
1月前
|
开发框架 缓存 前端开发
安装ASP.NET AJAX (一安装)
安装ASP.NET AJAX (一安装)
21 0
|
1月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
38 0
|
1月前
|
开发框架 中间件 .NET
C# .NET面试系列七:ASP.NET Core
## 第一部分:ASP.NET Core #### 1. 如何在 controller 中注入 service? 在.NET中,在ASP.NET Core应用程序中的Controller中注入服务通常使用<u>依赖注入(Dependency Injection)</u>来实现。以下是一些步骤,说明如何在Controller中注入服务: 1、创建服务 首先,确保你已经在应用程序中注册了服务。这通常在Startup.cs文件的ConfigureServices方法中完成。例如: ```c# services.AddScoped<IMyService, MyService>(); //
128 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
143 5
|
1月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
84 0
|
1月前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
32 0
|
10月前
|
存储 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(五)
经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】,商品列表页面,商品详情等功能的开发,今天继续讲解购物车功能开发,仅供学习分享使用,如有不足之处,还请指正。
132 0