我正在尝试拨打网络服务。 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];
}
}
我做错了什么?
答案 0 :(得分:0)
您无法调用void类型的Web服务。
我改为返回一个我从未使用的int,并且调用js能够找到它。
public int saveAttnCcc(string ccc) {
...
return dummyInt;
}