如何用ajax实现检查注册是的用户名是否存在? asp.net 2.0 环境 谢谢 最好有demo 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <head> <title>无标题页</title> <script type="text/javascript"> var XMLHTTP; function Validate() { //接受要判断的字段 var name=document.getElementById("TextName").value; //创建 if(window.ActiveXObject) { XMLHTTP=new ActiveXObject("MSXML2.XMLHTTP"); } else { XMLHTTP=new XMLHttpRequest(); } XMLHTTP.onreadystatechange = doContents;//调用doContents函数 XMLHTTP.open('get','Handler.ashx?name='+name,true);//'Handler.ashx是一个一般事物处理文件 XMLHTTP.send(); } function doContents() { if(XMLHTTP.readyState==4) { alert(XMLHTTP.responseText); } } </script></head><body> <input id="TextName" type="text" /><input id="Button1" onclick="Validate();" type="button" value="验证是否存在" /></body></html> 这个是'Handler.ashx的代码[code=C#]<%@ 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 name = context.Request.QueryString["name"]; if (name == "11") { context.Response.Write("不能用"); } else { context.Response.Write("可以用"); } } public bool IsReusable { get { return false; } }}[code] [url=http://www.qq.com] 在TextBox的onchange事件中写个查询就可以了 用ajax.dll1.前台js脚本:<script type="text/javascript">function checkValide(){ var username=document.all("<%=username.ClientID%>"); ThisWebPage.IsExistUser(username.value,callback_handler);}function callback_handler(response){ if (response.value==1) { document.getElementById("title").innerHTML="用户名已存在!!"; } else { document.getElementById("title").innerHTML=""; }}2.后台cs代码 [Ajax.AjaxMethod] public int IsExistUser(string username) { int i; string sql = "select * from users where username='" + username.ToString() + "'"; using (SqlDataReader dr = SqlHelper.ExecutePreForDataReader(sql)) { if (dr.Read()) { i = 1; } else { i = 0; } } return i; } 米飯的無奈回答正确最简单的还是写一个OnKeyUp或者写一个Onchange事件也行 现在的ajax框架那么多,随便用个,如asp.net ajax,业务逻辑正常写,完后用updatepanel框住相关控件就ok了 cs: [Ajax.AjaxMethod] public string UserName(string username) { SqlDataReader dr = null; try { sqlhelper.RunSQL("select * from T_User where UserName='" + username + "'", out dr); if (dr.Read()) { dr.Close(); dr.Dispose(); return "用户名已经存在不可用"; } else { dr.Close(); dr.Dispose(); return "用户名可用"; } } catch { return "对不起,出错拉"; } finally { dr.Close(); dr.Dispose(); } }js: function echouser() { var value=document.getElementById("Name").value; var a=document.getElementById("Message"); if(value=="") { a.innerHTML="<strong size='2'>请输入用户名</strong>"; return; } var user=AddUser.UserName(value).value; a.innerHTML="<strong size='2'>"+user+"</strong>"; } 用 webServes,updatePanel效率太低,个人建议!(附带信息,想换单位,有信息的朋友帮忙http://topic.csdn.net/u/20071106/14/d8c8aa58-e462-47be-81d3-3970d53ec16f.html) 关于../和~/的区别 freetextbox3.2 如何实现本地上传图片? aspx页面的<% Register %> ,在CS后台文件,怎样才可动态生成? 求教下限制必须选择CheckBoxList中的一项的问题 日历控件Calendar问题? 求 仿MSN的miniOA gridview导出excel时,如何将隐藏的列不导出到excel中 VS2008中JS怎么调用CS函数 不知道AJAX的使用和以前一样吗?谢谢 这种问题,你们遇到过吗?急。。。。帮帮小妹`~~~谢谢了`~我会给分的。。。急呀`~ asp.net网站发布,救急! 急,那位有asp.net(C#)带农历的日历控件么? gridview 没有的属性
<title>无标题页</title>
<script type="text/javascript">
var XMLHTTP;
function Validate()
{
//接受要判断的字段
var name=document.getElementById("TextName").value;
//创建
if(window.ActiveXObject)
{
XMLHTTP=new ActiveXObject("MSXML2.XMLHTTP");
}
else
{
XMLHTTP=new XMLHttpRequest();
}
XMLHTTP.onreadystatechange = doContents;//调用doContents函数
XMLHTTP.open('get','Handler.ashx?name='+name,true);//'Handler.ashx是一个一般事物处理文件
XMLHTTP.send();
}
function doContents()
{
if(XMLHTTP.readyState==4)
{
alert(XMLHTTP.responseText);
}
}
</script>
</head>
<body>
<input id="TextName" type="text" /><input id="Button1" onclick="Validate();" type="button" value="验证是否存在" />
</body>
</html>
[code=C#]<%@ 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 name = context.Request.QueryString["name"];
if (name == "11")
{
context.Response.Write("不能用");
}
else
{
context.Response.Write("可以用");
}
}
public bool IsReusable {
get {
return false;
}
}}[code]
[url=http://www.qq.com]-
在TextBox的onchange事件中写个查询就可以了
-
用ajax.dll1.前台js脚本:
-
米飯的無奈
-
现在的ajax框架那么多,随便用个,如asp.net ajax,业务逻辑正常写,完后用updatepanel框住相关控件就ok了
-
cs:
-
用 webServes,updatePanel效率太低,个人建议!(附带信息,想换单位,有信息的朋友帮忙http://topic.csdn.net/u/20071106/14/d8c8aa58-e462-47be-81d3-3970d53ec16f.html)
<script type="text/javascript">
function checkValide()
{
var username=document.all("<%=username.ClientID%>");
ThisWebPage.IsExistUser(username.value,callback_handler);
}function callback_handler(response)
{
if (response.value==1)
{
document.getElementById("title").innerHTML="用户名已存在!!";
}
else
{
document.getElementById("title").innerHTML="";
}
}2.后台cs代码
[Ajax.AjaxMethod]
public int IsExistUser(string username)
{
int i;
string sql = "select * from users where username='" + username.ToString() + "'";
using (SqlDataReader dr = SqlHelper.ExecutePreForDataReader(sql))
{
if (dr.Read())
{
i = 1;
}
else
{
i = 0;
}
} return i;
}
回答正确
最简单的还是写一个OnKeyUp或者写一个Onchange事件也行
[Ajax.AjaxMethod]
public string UserName(string username)
{
SqlDataReader dr = null;
try
{
sqlhelper.RunSQL("select * from T_User where UserName='" + username + "'", out dr);
if (dr.Read())
{
dr.Close();
dr.Dispose();
return "用户名已经存在不可用";
}
else
{
dr.Close();
dr.Dispose();
return "用户名可用";
}
}
catch
{
return "对不起,出错拉";
}
finally
{
dr.Close();
dr.Dispose();
}
}
js:
function echouser()
{
var value=document.getElementById("Name").value;
var a=document.getElementById("Message");
if(value=="")
{
a.innerHTML="<strong size='2'>请输入用户名</strong>";
return;
}
var user=AddUser.UserName(value).value;
a.innerHTML="<strong size='2'>"+user+"</strong>";
}