Ajax的初次使用
步骤如下:
一:添加Ajax.dll引用
我们首先需要把Ajax.dll库引用进项目。
二:设置HttpHandler
在Web.config下设置HttpHandler。我们需要在<configuration>/<system.web>下添加<httpHandlers>。具体代码如下:
<
configuration
>
<
system
.web
>
<
httpHandlers
>
<
add
verb
="POST,GET"
path
="ajax/*.ashx"
type
="Ajax.PageHandlerFactory, Ajax"
/>
</
httpHandlers
>
.
</
system.web
>
</
configuration
>
三:设置页面属性
下面两种方法你可以任选一种:
1. 在Page_Load事件中,注册AJAX
我们需要在Page_Load事件中,为需要通过JS访问其函数的类进行注册。具体代码如下:
private
void
Page_Load(
object
sender, System.EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(noFlash));
Ajax.Utility.RegisterTypeForAjax(typeof(User));
// 在此处放置用户代码以初始化页面
}
2.在页面中添加<script>,注册AJAX
这里,我们需要在它的<head>下添加下列代码:
<
script
language
="javascript"
src
="ajax/common.ashx"
></
script
>
<
script
language
="javascript"
src
="ajax/NoFlash.noFlash,NoFlash.ashx"
></
script
>
<
script
language
="javascript"
src
="ajax/NoFlash.User,NoFlash.ashx"
></
script
>
个人推荐使用第一种方法。
四:添加服务器端函数
添加用于客户端调用的服务器端函数。这里,这些函数和平常的C#中的函数书写一模一样,但我们需要在函数前加[Ajax.AjaxMethod()]特性来表明它将可以被客户端JS调用。下面是一个简单的例子:
[Ajax.AjaxMethod()]
public
int
ServerSideAdd(
int
firstNumber,
int
secondNumber)
{
return firstNumber + secondNumber;
}
需要注意的是:如果是整个类作为返回的对象,要在定义这个返回类的头部加[Serializable()]特性。如:
[Serializable()]
public
class
User
{
private int _userId;
private string _firstName;
private string _lastName;
public int userId
{
get
{ return _userId; }
}
public string FirstName
{
get
{ return _firstName; }
}
public string LastName
{
get
{ return _lastName; }
}
public User(int _userId, string _firstName, string _lastName)
{
this._userId = _userId;
this._firstName = _firstName;
this._lastName = _lastName;
}
public User()
{}
[Ajax.AjaxMethod()]
public static User GetUser(int userId)
{
//Replace this with a DB hit or something :)
return new User(userId,"Michael", "Schwarz");
}
}
五:使用JS,调用服务器端函数
在前面这些准备工作都做好后,即可以在JS里书写调用的函数了。具体的调用方法有两种(拿ServerSideAdd举例):
1.我们可以直接调用如<name of class>.<name of server side function>,这里就是noFlash.ServerSideAdd(100,99)。
2.添加一个处理返回值的函数,这里就是noFlash.ServerSideAdd(100,99,ServerSideAdd_CallBack)。其中,ServerSideAdd_CallBack就是用来处理服务器端运行ServerSideAdd后返回的值的函数。具体的代码如:
<
script
language
="javascript"
>
noFlash.ServerSideAdd(100,99,ServerSideAdd_CallBack);

function ServerSideAdd_CallBack(response)
{
if (response.error != null)
{
alert(response.error);
return;
}
alert(response.value);
}
</
script
>
这样,我们就可以在.NET1.1下实现AJAX了。个人感觉这样做出的无刷新页面实在是棒。AJAX肯定会有很光明的前景
附上我写的实现代码,供大家探讨
本文介绍如何在ASP.NET 1.1环境中实现AJAX功能,包括添加Ajax.dll引用、设置HttpHandler、注册类型、添加服务器端函数及使用JS调用等关键步骤。
572

被折叠的 条评论
为什么被折叠?



