日期:2014-05-17  浏览次数:20545 次

javascript调用webservice一直提示未定义
javascript前台调用webservice老提示未定义,网上帖子看了不少,实在不知道哪错了
首先定义ScriptManager
C# code

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
            <Services>
            <asp:ServiceReference Path="../../WebServ/ContentOperServ.asmx" />
        </Services>
        </asp:ScriptManager>


然后是javascript方法
JScript code

 function DeleteInfo(infoID)
        {
            if(confirm('确定要删除吗?'))
            {
               ARSSPortalSite.WebServ.ContentOperServ.DeleteInfoByID(infoID, DeleteInfoSuc);
            }
        }


最后上webservice代码:
C# code

using System;
using System.Data;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.ComponentModel;
using System.Web.Script.Services;

using ARSS.MOD.SUP;
using ARSS.BLL.SUP;
namespace ARSSPortalSite.WebServ
{
    /// <summary>
    /// ContentOperServ 的摘要说明

    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(false)]
    [ScriptService]
    public class ContentOperServ : System.Web.Services.WebService
    {

            

        [WebMethod]
        [ScriptMethod]
        public int DeleteInfoByID(int infoID)
        {
            ContentOperation contentOperManager = new ContentOperation();

            return contentOperManager.DeleteInfoByID(infoID);
        }//删除新闻

        

   

    }
}





问题是老是提示ARSSPortalSite未定义,然后我把ARSSPortalSite.WebServ去掉,还是提示未定义,求高手解答

------解决方案--------------------
Services能直接浏览了吗?编译错误可不行哦
------解决方案--------------------
我也遇到这个问题 没找到答案
------解决方案--------------------
C# code
后台Load注册btnDelete
           ScriptManager1.RegisterAsyncPostBackControl(btnDelete);

------解决方案--------------------
一个例子,自己参看的改吧。
http://www.cnblogs.com/webabcd/archive/2007/02/12/648087.html
------解决方案--------------------
我也遇到这个问题,Js中不能直接调用"命名空间.webservice.methodA",哪个高手站出来说说啊
------解决方案--------------------
自己写代码或者jquery调用webservice都很简单,ScriptManager 不是很好,有些客户端容易出问题。
http://dotnet.aspx.cc/file/jQuery-Ajax-Call-WebService-DataTable.aspx
http://dotnet.aspx.cc/file/call-aspnet-web-service-using-javascript.aspx
------解决方案--------------------
注意这行代码

//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 
 [System.Web.Script.Services.ScriptService]