我有一个关于asp.net web服务的问题。我有一个register.aspx页面。 我想做的事情,如果在注册过程中已经记录了文本字段内部的记录,我想给我一个警告。
我正在使用jquery。我通过创建Web服务来编写这些代码。但是,它无法找到webservice.We我该怎么办?
这是我的代码。
网络服务:
[WebMethod]
public int CheckUser(string username)
{
string constr = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;
string query = String.Format("select COUNT(*) from Users where Username='{0}'", username);
SqlConnection baglan = new SqlConnection(constr);
SqlCommand cmd = new SqlCommand(query, baglan);
baglan.Open();
int result = (int)cmd.ExecuteScalar();
baglan.Close();
return result;
}
Register.aspx:
<script src="jquery-1.6.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#Txtuname").change(CheckUser);
});
function CheckUser() {
//alert("test");
$.ajax({
type: "POST",
url: "WebService1/Service1.asmx/CheckUser",
data: "{username: '" + $('#Txtuname').val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
$("#duplicate").empty();
if (response.d != "0") {
$("#duplicate").html(' That user name has already been taken');
}
}
});
}
</script>
相关领域:
<tr>
<td>
<span class="label">Username:</span>
</td>
<td>
<asp:TextBox ID="Txtuname" runat="server"></asp:TextBox><span id="duplicate"></span>
</td>
</tr>
答案 0 :(得分:0)
如果您的网络服务位于应用程序的根目录,请使用/WebService1/Service1.asmx/CheckUser
。否则,请向我们展示项目的文件系统结构。
提示:始终复制当前Web服务的路径,删除方法名称并将其附加到URL的末尾。如果找到了,那么一切都OK。例如,在您的情况下,请按照下列步骤操作:
/WebService1/Service1.asmx/CheckUser
/WebService1/Service1.asmx
http://www.site.com/WebService1/Service1.asmx
否则,将其附加到当前网址的当前路径(当前网址的网址) )http://www.site.com/pageName.aspx/WebService1/Service1.asmx