2011-07-06 133 views
0

我有一个与asp.net web服务有关的问题。我有一个register.aspx页面。 我想要做的事情,如果在注册过程中已经有一个条目进入文本框内部的记录,我想给我一个警告。Asp.Net Web服务问题

我正在使用jQuery的that.I写这些代码通过创建web服务。但是,它无法找到web服务。我该怎么办?

这是我的代码。

Web服务:

[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

使用/WebService1/Service1.asmx/CheckUser如果您的网络服务是位于应用程序的根目录。否则,请向我们展示您的项目的文件系统结构。

提示:始终复制当前Web服务的路径,去掉方法名称和其追加到URL的末尾。如果找到了,那么一切都很好。例如,你的情况,请按照下列步骤操作:

  1. 抓住Web服务路径:/WebService1/Service1.asmx/CheckUser
  2. 从中取出方法名称:/WebService1/Service1.asmx
  3. 如果打头/,只需将其追加到您的网站的根路径:http://www.site.com/WebService1/Service1.asmx否则,其附加到当前的URL(当前页面的URL)http://www.site.com/pageName.aspx/WebService1/Service1.asmx
  4. 如果它解决了当前路径,那么路径就可以了。