AJAX.NET用户开发指南(1)

ajax|开发指南

AJAX依靠服务器作为中介来分发和处理请求。为了完成这项工作,.net封装类依赖于客户端的请求对象,而xmlHttpRequest对象被大部分的浏览器支持,因此使用这个对象是一个不错的解决方案。因为封装的目的是隐藏xmlHttpRequest的实现,故我们不讨论他的实现细节。

  封装类是通过在.net的方法上增加AJAX属性标记来实现的,一旦被标记,AJAX创建客户端的javascript函数(这类似于客户端编写的javascript函数),并使用xmlhttprequest创建服务器代理,这个代理映射客户端的函数到服务器的处理函数。

  复杂吗?不会的,让我们看看下面的简单例子,给出的.net 函数


'VB.Net

public function Add(firstNumber as integer, secondNumber as integer) as integer

return firstNumber + secondNumber

end sub


//C#

public int Add(int firstNumber, int secondNumber)
{
 return firstNumber + secondNumber;
}

  Ajax.net会立即自动的创建带有两个参数、名字为Add的javascript函数,当客户端调用这个javascript函数时,请求将从后台送到服务器端并从将计算结果返回给客户端。

  初始安装

  我们首先从如何把”.dll”安装到你的项目开始,当然,如果你了解如何使用,这一节可以跳过。

  如果你还没有Ajax.dll,可以首先下载AJAX的最新版本。解压文件放到可以被你的项目引用的地方,在.net项目中,添加上对其的引用,然后就可以开始使用ajax.dll封装进行开发了。


如果你在安装引用时遇到了麻烦,可以参考这个链接的说明:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbtskaddingremovingreferences.asp

  设置HttpHandle

  为了使其可以工作,第一步必须做的是在web.config中安装设置封装包的HttpHandle,不去详细解释HttpHandle是如何工作的,我们只需要了解他们可以用来处理asp.net请求。例如,所有的目的为*.aspx的请求可以通过System.Web.UI.PageHandlerFactory类发送到控制句柄,简单的说,我们把任何向ajax/*.ashx的请求发送到Ajax.PageHandlerFactory的请求处理句柄:

<configuration>
<system.web>
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />

</httpHandlers>
...
<system.web>
</configuration>

  上面的代码告诉asp.net把任何匹配到特定的路径(ajax/*.ashx)请求发送到Ajax.PageHandlerFactory产生的HttpHandle,而不再是默认的Handler factory。你不需要创建ajax子目录,这是一个只用来临时使用的虚拟的目录,因此别的HttpHandler可以用他们自己的目录来使用.ashx扩展名的文件。

  配置页面

  现在我们准备好开始代码编写了。打开一个新的网页或者已经存在的页面,在其codebehind文件中的Page_Load事件中增加以下代码:

'vb.net

Public Class Index
Inherits System.Web.UI.Page

Private Sub Page_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Ajax.Utility.RegisterTypeForAjax(GetType(Index))
'...
end sub
'...
End Class

  • Ajax: 一个建立Web应用的新途径
  • Ajax的错误处理机制探讨(2)
  • Ajax的错误处理机制探讨(1)
  • 初次体验.NET Ajax无刷新技术
  • Rails系统中的AJAX开发技术简析(4)
时间: 2024-12-23 18:36:31

AJAX.NET用户开发指南(1)的相关文章

AJAX.NET用户开发指南(5)

ajax|开发指南 [Ajax.AjaxMethod] public string Test1(string name, string email, string comment){string html = "";html += "Hello " + name + "<br>";html += "Thank you for your comment <b>";html += System.Web.Ht

AJAX.NET用户开发指南

ajax|开发指南 概述 AJAX依靠服务器作为中介来分发和处理请求.为了完成这项工作,.net封装类依赖于客户端的请求对象,而xmlHttpRequest对象被大部分的浏览器支持,因此使用这个对象是一个不错的解决方案.因为封装的目的是隐藏xmlHttpRequest的实现,故我们不讨论他的实现细节. 封装类是通过在.net的方法上增加AJAX属性标记来实现的,一旦被标记,AJAX创建客户端的javascript函数(这类似于客户端编写的javascript函数),并使用xmlhttpreque

AJAX.NET用户开发指南(4)

ajax|开发指南 private void Page_Load(object sender, EventArgs e){Utility.RegisterTypeForAjax(typeof(User));} 在客户端我们可以通过这样的方式调用GetUser函数: <script language="javascript">function getUser(userId){User.GetUser(GetUser_callback);} function GetUser_c

AJAX.NET用户开发指南(3)

ajax|开发指南 Sample.ServerSideAdd(100,99, ServerSideAdd_CallBack); function ServerSideAdd_CallBack(response){ if (response.error != null){ alert(response.error); return; } alert(response.value);} 从上面的代码中可以看出,我们为ServerSideAdd函数增加了一个额外参数ServerSideAdd_Call

AJAX.NET用户开发指南(2)

ajax|开发指南 //C# public class Index : System.Web.UI.Page{ private void Page_Load(object sender, EventArgs e){ Ajax.Utility.RegisterTypeForAjax(typeof(Index)); //... } //... } 对RegisterTypeForAjax方法的调用在页面产生如下的javascript代码(另外一种选择,你也可以人工在页面上添加如下的javascrip

Google Web App开发指南第二章:交互设计

首先掌握基础 借用篮球界一个传奇人物的话,在你做任何事之前,你必须"首先掌握基础".(说出这句话的是波士顿凯尔特篮球名宿Larry Bird,他同时也是一个Web App爱好者.)所有伟大的Web Apps都必须有一个清晰的集中点. 创建清晰的需求描述 伟大的web apps让用户很容易集中注意力.人们在某段时间内只能集中于少数几件事,因此,与那些提供给用户很多选择和很多特性的web apps相比,人们更喜欢那些没有干扰能让用户轻松完成手头任务的应用. 为了确保你的应用有一个集中点,创

Knockout应用开发指南 第三章:绑定语法(3)

原文:Knockout应用开发指南 第三章:绑定语法(3) 12   value 绑定 目的 value绑定是关联DOM元素的值到view model的属性上.主要是用在表单控件<input>,<select>和<textarea>上. 当用户编辑表单控件的时候, view model对应的属性值会自动更新.同样,当你更新view model属性的时候,相对应的元素值在页面上也会自动更新. 注:如果你在checkbox或者radio button上使用checked绑定

ASP.NET Aries 开源开发框架:开发指南(一)

前言: 上周开源了Aries开发框架后,好多朋友都Download了源码,在运行过程里,有一些共性的问题会问到. 所以本篇打算写一下简单的开发指南,照顾一下不是太看的懂源码的同学,同时也会讲解一下框架原理. 开源的文章或源码获取地址见上一篇文章:开源:ASP.NET Aries 开发框架   关于框架: 首先,这是一套开发框架,它类同于WebForm.MVC..NET Core. 相比webform,mvc,.NET Core 它简化了后端很多东西,它也加强了前端一些功能,默认集成的功能和界面,

Knockout应用开发指南 第七章:Mapping插件

原文:Knockout应用开发指南 第七章:Mapping插件 Mapping插件 Knockout设计成允许你使用任何JavaScript对象作为view model.必须view model的一些属性是observable的,你可以使用KO绑定他们到你的UI元素上,当这些observable值改变的时候,这些UI元素就会自动更新. 绝大多数程序都需要从服务器端获取数据,但是由于服务器不知道observable的概念是什么,它只支持简单的JavaScript对象(通常是序列化以后的JSON),