我的PageMethods永远不会在.NET中实现

时间:2014-07-28 02:42:14

标签: javascript asp.net

我尝试了一切,没有任何作用。 PageMethods永远不会到达,但在该调用之前的一切都很好。它可能是代码隐藏的东西吗?我怀疑整个项目我做错了什么。可能是我必须放在页面主文件中的东西吗?

public class GetElements
    {
        [ScriptMethod, WebMethod]
        public static string[] getTargets()
        {
            //List<string> targetList = new List<string>();
            string[] targetList = new string[2];
            targetList[0] = "poo";
            targetList[1] = "bar";
            foreach (Target t in PbcXml.oDeserialized.oTargetList)
            {
            }
            return targetList;
        }
    }

的javascript:

var a = new Array();
getTarget();
function getTarget() {
    PageMethods.getTargets(OnSuccessLoad);
    return false;
}
function OnSuccessLoad(response) {
    for (var v in response) {
        //a.push(v);
        alert(v);
    }
}

aspx页面:

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>

1 个答案:

答案 0 :(得分:0)

我相信你只需要静态方法的WebMethod属性......自从我做了一个PageMethod以来已经有一段时间了。此外,您在其他一些不是WebForms页面的类上定义了页面方法。您需要在将调用它的ASP.NET WebForms页面上定义它。我认为这是个问题。

如果在尝试上述操作后仍然无法正常工作,请加载浏览器的Javascript控制台以查看您获得的Javascript错误,并运行Fiddler,http://www.telerik.com/fiddler之类的免费工具,以查看正在进行的操作如果没有JS错误,请求Web请求。

希望有所帮助。