<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
// <![CDATA[
function btnReg_onclick() {
//这个实现ajax注册。自己去写。
}
//验证用户名存在不
function checkName() {
var name = $("#username").val();
$.ajax({
type: "post",
url: "Handler.ashx",
// data:"t=checkName &name="+name 我们一般不这样用,但是是可以的。
data: { "t": "checkName", "name": name },
success: function (b) {
if (b == "true") $("#nameTips").text("存在这个用户");
else
$("#nameTips").text("可以注册!");
}
});
}
// ]]>
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
用户注册<br />
<br />
用户名:<input id="username" type="text" οnchange="checkName();" /><span id="nameTips"></span><br />
密码:<input id="password" type="text" /><br />
密码确认:<input id="password1" type="text" /></div>
</form>
<p>
<input id="btnReg" type="button" value="注册" οnclick="return btnReg_onclick()" /></p>
</body>
</html>
Handler.ashx代码
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Web.Configuration;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
// context.Response.Write("Hello World");
string type = context.Request["t"]; //通过类型达到判断调用哪个函数
string name = context.Request["name"];
switch (type)
{
case "checkName":
context.Response.Write( HasUser(name) ) ;
break;
//其他case
default:
break;
}
}
public bool IsReusable {
get {
return false;
}
}
private string HasUser(string username)
{
//这里自己写ado.net代码验证是否有用户。我假设任何情况下都存在这个用户。
string connectionString = "server=.;database=News;uid=sa;pwd=1234;;";
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "SELECT NAME FROM TB_ADMIN WHERE NAME='" + username + "'";
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read())
return "true";
else
return "false";
}
}