试图在我的应用程序中调用web服务但是找不到

时间:2011-02-28 00:43:46

标签: javascript web-services

我正在尝试拨打网络服务。 Web服务和调用代码都在同一个项目中。当javascript函数试图调用web服务函数AttnCcc.saveAttnCcc时,我收到错误:Microsoft JScript运行时错误:'AttnCcc'未定义

以下代码位于调用服务的aspx文件中:

  <asp:ScriptManager ID="ScriptManager1" runat="server">
  <Services>
  <asp:ServiceReference Path="AttnCcc.asmx.cs" /> 
  </Services>    
  </asp:ScriptManager>

在同一个aspx文件中,我试图从以下js函数调用它:

  <script type="text/javascript">
      function ConfirmCcc(ID, webDataGridName) {
           AttnCcc.saveAttnCcc("44,duplicate,this test data");
       }
</script>

webservice是以下asmx.cs文件:

using System.Linq;
using System.Web;
using System.Web.Script.Services;
using System.Web.Services;

namespace  are
{
    /// <summary>
    /// Summary description for AttnCcc
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    [System.Web.Script.Services.ScriptService]
    public class AttnCcc : System.Web.Services.WebService
    {
        [ScriptMethod]
        [WebMethod]
        public void saveAttnCcc(string ccc)
        {
            string cblCccText, tbCccText;
            int Id;
            string[] arr = ccc.Split(',');
            Id = int.Parse(arr[0]);
            cblCccText = arr[1]; tbCccText = arr[2];
        }

    }

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您无法调用void类型的Web服务。

我改为返回一个我从未使用的int,并且调用js能够找到它。

 public int saveAttnCcc(string ccc) {
... 
return dummyInt;
}