ajax实例 asp.net,asp.net ajax 简单实例

asp.net

ajax 简单实例(2010-12-30 04:24:19)

实例需求:

利用Ajax技术实现一个页面不刷新的,并且验证一个用户名是否被注册过的过程。

要求:

在页面中添加一个文本框标签用于输入用户名,添加一个按钮用于提交用户数据。验证的结果被直接打印在页面上。

操作步骤如下:

1) 打开Visual

Studio 2005建立一个网站

2) 在VS2005工具箱的HTML栏中添加一个 控件及 控件。

3) 在

中加入标签,以便进行Ajax引擎的编写,并在基本定义一个XMLHttpRequest对象,但是并不进行初始化操作。如下代码所示。

var

xmlhttp;

function Validation()

{

//实例化XMLHttpRequest对象

xmlhttp =new ActiveXObject ("Microsoft.XMLHTTP");

//找到名为“Text1”的文本框

var name=document .getElementById ("Text1");

//利用Open方法向指定URL

//查询字符串“name”将文本框中的数据传送到目标页面

xmlhttp.open("Post","AjaxDemo_1.aspx?name="+name.value);

//设置当服务器响应返回时用于处理响应的函数名

xmlhttp .onreadystatechange=OnMessageBack;

//送发请求

xmlhttp .send(null);

}

4) 添加OnMessageBack()函数的内容。代码如下:

function

OnMessageBack()

{

//判断请求状态及HTTP状态是否都能满足条件

if (xmlhttp .readystate==4&&xmlhttp

.status==200)

{

//将返回的文本打印到页面上

document .write (xmlhttp .responsetext);

}

}

5) 下面为Button1添加事件代码,将其标签修改为

value="button" οnclick="Validation()" />

6) 页面中的Ajax引擎已经编写完毕。在上代码中,大家可以看到该用户名是通过一个名为“name”的查询字符串进行传递的,该查询字符串传递到服务器后需要进行后台处理,因此,要对“AjaxDemo_1.aspx.cs”中的Page_Load方法添加一些ADO.NET代码。这里的数据库使用的是“Northwind”示例数据库。代码如下所示。

protected

void Page_Load(object sender, EventArgs e)

{

string name = Request.QueryString["name"];

if (name != null)

{

SqlConnection con = new SqlConnection("");

SqlCommand com = new SqlCommand();

com.CommandText = "";

com.Parameters.Add("@CustomerID",SqlDbType.NChar,5).Value

=name;

con.Open();

int count = (int)com.ExecuteScalar();

con.Close();

if (count == 0)

{

Response.Write("alert('该用户可以用!');");

}

else

{

Response.Write("alert('该用户已经被占用,请使用其他用户名!');");

}

}

}

这里要注意,当服务器利用Response.Write()方法向客户端发出响应后,客户端的Ajax引擎就截获该响应流,并在我们事先定义的“OnMessageBack()”方法中进行处理。

你可能感兴趣的:(ajax实例,asp.net)