function IfEmailExists() {
$.ajax({
url: "Handler.ashx",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: { 'Email': $('#txtEmail').val(), 'Method': 'IfEmailExists' },
responseType: "json",
success: OnCompleteIfEmailExists,
error: OnFail
});
return false;
}
下面的函数在中运行处理程序.ashx.cs触发ajax部件后:
case "IfEmailExists":
ss = new Staff();
string Email = context.Request["Email"];
string IsEmailExist = javaScriptSerializer.Serialize(ss.CheckIfEmailExists(Email));
context.Response.ContentType = "text/html";
context.Response.Write(IsEmailExist);
return;
在Staff类中,通过上面的代码触发以下功能:
public int CheckIfEmailExists(string Email)
{
int outputEmail = 0;
SQLDatabase sqldb = new SQLDatabase();
DataTable dt = new DataTable();
dt = sqldb.ExecStoredProcedureDataTable("[spDoesEmailExists]", new SQLParamList().Add("@Email", Email));
if (dt.Rows.Count > 1)
{
outputEmail = 1;
}
else
{
outputEmail = 0;
}
return outputEmail;
}
Select Email from StaffEmailUsage where Email = @Email
请注意,还有另一个ValidateEmail()函数用于检查电子邮件是否有效。
在这种结构的帮助下,当用户多次尝试使用电子邮件地址时,他会收到一条错误消息:
This email address has been already used!
默认情况下。我试图通过这个,但我总是收到错误。
问题是,我看到不同的人使用同一个电子邮件地址不止一次。我怎么可能找不到呢。我尝试在电子邮件地址的开头和结尾使用空格,禁用javascript,使用不同的浏览器,但我总是收到错误消息,这是意料之中的。如何防止不同用户多次使用同一电子邮件地址?任何帮助或建议都将不胜感激。谢谢。