我正在尝试检查文本框的文本更改事件的电子邮件可用性。下面是代码(我从网上拿到的):
HTML (javascript):
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#<%=txtEmailAddress.UniqueID%>").change(function () {
var uname = $("#<%=txtEmailAddress.UniqueID%>");
var msgbox = $("#status");
if (Email.val().length > 0) {
$.ajax({
type: "POST",
url: "SignUp.aspx/usp_CheckEmail",
data: "{'args': '" + Email.val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
if (msg.d == 'Available') {
Email.removeClass("notavailablecss");
Email.addClass("availablecss");
msgbox.html('<img src="Images/a.png"> <font color="Green"> Available </font>');
}
else {
Email.removeClass("availablecss");
Email.addClass("notavailablecss");
msgbox.html(msg.d);
}
}
});
}
else {
Email.addClass("notavailablecss");
msgbox.html('<font color="#cc0000">Email must be unique</font>');
}
});
});
政务司司长:
[System.Web.Services.WebMethod]
protected void txtPassword_TextChanged(object sender, EventArgs e, string args)
{
string returnValue = string.Empty;
SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConnectionString"]);
try
{
SqlCommand sqlCmd = new SqlCommand("usp_CheckEmail", con);
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.Parameters.AddWithValue("@Email", args.Trim());
con.Open();
int success = int.Parse((sqlCmd.ExecuteScalar().ToString()));
if(success == 1) // Email Not Available
{
returnValue = "<img src="Images1/n.png"><font color="#cc0000"><b>'" + args + "'</b> is already in use.</font>"; **//getting syntax error here**
}
else if(success == 0)//Email is available
{
returnValue = "Available";
}
}
catch
{
//Handle Error
}
finally
{
con.Close();
}
return returnValue;
}
}
}在返回值行中获取错误。正确的语法是什么?此外,它还应该像这样显示图像:

那么,我的.aspx页面上需要有图像控件吗?因为我得到这段代码的那篇文章没有提到有图像控件。如果是,我该如何将它们与代码绑定??
更新:这是我从http://www.dotnetspark.com/kb/Content.aspx?id=1278获得代码的链接
这篇文章遗漏了什么??还需要做些什么?任何人请..。我需要这个。
发布于 2013-03-22 15:28:33
您错误地使用了双引号。
returnValue = "<img src=\"Images1/n.png\"><font color=\"#cc0000\"><b>'" + args + "'</b> is already in use.</font>";生成HTML或任何类似的标记真的是一个坏习惯。考虑在客户端将其更改为模板系统,或者在后端找到更优雅的解决方案。
发布于 2013-07-29 21:12:04
您似乎正在尝试调用存储过程,C#代码使用该存储过程检查客户端Ajax调用中是否有电子邮件可用。您应该改为调用您定义的方法。
https://stackoverflow.com/questions/15564792
复制相似问题