我正在处理一个具有注册表单的应用程序,我必须向用户显示用户名是否存在。 我正在使用asp.net mvc3并计划使用AJAX来实现此目的。如何在asp.net中使用ajax检查用户名是否已经存在?
我有一个表格
<tr>
<td>User Name*</td>
<td><input id="UserName" name="UserName" type="text" onblur="check(this.value);"/></td>
<td id= "UName"></td>
</tr>
它调用具有folling内容
function check(User) {
...
var url = "/UserNameCheck/Index";
url += "?User=" + User;
xmlHttp.onreadystatechange = state_Change;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function state_Change() {
if (xmlhttp.readyState == 4) {// 4 = "Response loaded"
if (xmlhttp.status == 200) {// 200 = Response Error Free
document.getElementById("UName").innerHTML = xmlHttp.responseText
}
else {
alert("Problem retrieving XML data");
}
}
}
我惊动了用户名和我得到的是我已经输入了正确的值.js文件。现在,URL是/ UserNameCheck/Index,其中UserNameCheck是一个控制器,Index是其中的一个方法。
控制器有这个代码。
public ActionResult Index(string User)
{
string UserName;
try
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
UserName = Request.QueryString["User"];
ConnectionPackage.ConnectionClass cc = new ConnectionPackage.ConnectionClass();
conn = cc.con;
string sql = "Select UserName FROM UserDetails where UserName = '" + UserName + "'";
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.Text;
object p = cmd.ExecuteScalar();
cmd.ExecuteNonQuery();
string u = (string)p;
if (u.Length==0 || u.Equals("NULL") || u.Equals("null")||u.Equals("Null"))
{
return View();
}
return null;
}
catch (Exception ex){
}
和视图具有
String buffer = " <table><tr><td id = 'UName' >" This user name already exists. Please select some other unser name.
buffer = buffer + "</td></tr></table>";
response.getWriter().println(buffer);
我也试着写
Response.Clear();
Response.Write("UserName already exists. Please select another UserName");
Response.End();
而不是返回查看。 但在这两种情况下,即使我输入了数据库中已经存在的用户名,我也没有收到用户名存在的消息。
连接字符串适用于插入数据库,所以我不认为有问题。我在js文件中提到的URL有问题吗?或者我的整个方法错了? 我基本上来自java背景,所以不太了解asp.net。请帮忙。
非常感谢您提前。
非常感谢你。但老实说,我以前没有使用过jQuery。你能否提供任何好的资源供我学习。如果它也有实际的例子,那将会很棒。 非常感谢你。 – Sathya 2012-01-07 06:02:22
@Sathya以最有信誉的来源开始 - 它是业主。 http://docs.jquery.com/Tutorials - 我认为你会发现它非常易于使用......当你完成一两个教程时......看看我提到的“live”和“keyup”事件和谷歌几个例子。这是蛋糕。 – 2012-01-09 18:08:07