前台页面代码:
Code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtUserName" runat="server" onBlur="send_request('addAdmin');"></asp:TextBox>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br />
<br />
<asp:Button ID="Button1" runat="server" Text="Button" />
<br />
<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1"
ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator></div>
<script language="javascript" type="text/javascript">
function send_request(flag)
{
//创建XMLHttpRequest;
http_request = false;
if(window.XMLHttpRequest)
{
// 非IE 浏览器
http_request = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
//IE
try
{
http_request = new ActiveXObject("Msxml2.XMLHTTP");//较新版本的IE
}catch(e)
{
try
{
http_request = new ActiveXOBject("Microsoft.XMLHTTP");//旧版本IE
}catch(e){}
}
}
else
{
window.alert("不能创建 XMLHttpRequest对象,无法应用Ajax");
return false;
}
//指定回调函数
if(flag == "addAdmin")
{
http_request.onreadystatechange = addAdmin;
//创建HTTP请求
http_request.open("GET","Handler.ashx?flag=addAdmin&userName="+document.getElementById("txtUserName").value,true);
}
else if(flag == "updateTitle")
{
http_request.onreadystatechange = updateTitle;
//创建HTTP请求
i = document.getElementById("ddlVoteTitle").selectedIndex;//选择的索引
id = document.form1.ddlVoteTitle.options[i].value;
http_request.open("get","Handler.ashx?flag=updateTitle&id="+id,true);
}
//发送上面创建的HTTP请求
http_request.send(null);
}
function addAdmin()
{
if(http_request.readyState == 4)//发送成功
{
if(http_request.status == 200)//交易成功
{
//正式处理有信息
if(http_request.responseText == "该用户已经存在")
{
//隐藏提交按扭
document.getElementById("Button1").style.display ="none";
}
else
{
document.getElementById("Button1").style.display="";
}
//document.getElementById("lblShow").innerText=http_request.responseText;
document.getElementById("Label1").innerText=http_request.responseText;
}
else
{ alert(http_request.status); }
}
}
function updateTitle()
{
if(http_request.readyState == 4)//发送成功
{
if(http_request.status == 200)//交易成功
{
//正式处理有信息
document.getElementById("lblTitle").innerText=http_request.responseText;
}
}
}
</script>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtUserName" runat="server" onBlur="send_request('addAdmin');"></asp:TextBox>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br />
<br />
<asp:Button ID="Button1" runat="server" Text="Button" />
<br />
<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1"
ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator></div>
<script language="javascript" type="text/javascript">
function send_request(flag)
{
//创建XMLHttpRequest;
http_request = false;
if(window.XMLHttpRequest)
{
// 非IE 浏览器
http_request = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
//IE
try
{
http_request = new ActiveXObject("Msxml2.XMLHTTP");//较新版本的IE
}catch(e)
{
try
{
http_request = new ActiveXOBject("Microsoft.XMLHTTP");//旧版本IE
}catch(e){}
}
}
else
{
window.alert("不能创建 XMLHttpRequest对象,无法应用Ajax");
return false;
}
//指定回调函数
if(flag == "addAdmin")
{
http_request.onreadystatechange = addAdmin;
//创建HTTP请求
http_request.open("GET","Handler.ashx?flag=addAdmin&userName="+document.getElementById("txtUserName").value,true);
}
else if(flag == "updateTitle")
{
http_request.onreadystatechange = updateTitle;
//创建HTTP请求
i = document.getElementById("ddlVoteTitle").selectedIndex;//选择的索引
id = document.form1.ddlVoteTitle.options[i].value;
http_request.open("get","Handler.ashx?flag=updateTitle&id="+id,true);
}
//发送上面创建的HTTP请求
http_request.send(null);
}
function addAdmin()
{
if(http_request.readyState == 4)//发送成功
{
if(http_request.status == 200)//交易成功
{
//正式处理有信息
if(http_request.responseText == "该用户已经存在")
{
//隐藏提交按扭
document.getElementById("Button1").style.display ="none";
}
else
{
document.getElementById("Button1").style.display="";
}
//document.getElementById("lblShow").innerText=http_request.responseText;
document.getElementById("Label1").innerText=http_request.responseText;
}
else
{ alert(http_request.status); }
}
}
function updateTitle()
{
if(http_request.readyState == 4)//发送成功
{
if(http_request.status == 200)//交易成功
{
//正式处理有信息
document.getElementById("lblTitle").innerText=http_request.responseText;
}
}
}
</script>
</form>
</body>
</html>
后台Handler.aspx处理程序:
Code
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string flag = context.Request.QueryString["flag"];
if (flag == "" || flag == null)
return;
if (flag.Equals("addAdmin"))
{
string userName = context.Request.QueryString["userName"].ToString();
if (userName == "test")
{
context.Response.Write("该用户已经存在");
}
else
{
context.Response.Write("你可以注册[" + userName + "]");
}
}
else if (flag.Equals("updateTitle"))
{
}
}
public bool IsReusable {
get {
return false;
}
}
}
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string flag = context.Request.QueryString["flag"];
if (flag == "" || flag == null)
return;
if (flag.Equals("addAdmin"))
{
string userName = context.Request.QueryString["userName"].ToString();
if (userName == "test")
{
context.Response.Write("该用户已经存在");
}
else
{
context.Response.Write("你可以注册[" + userName + "]");
}
}
else if (flag.Equals("updateTitle"))
{
}
}
public bool IsReusable {
get {
return false;
}
}
}