为什么PageMethods对象未定义?

时间:2016-04-22 16:38:07

标签: javascript vb.net pagemethods

我已经阅读了类似问题的几个答案,但没有一个能回答我的问题。我已经尝试了所有我能想到的东西。这是我的代码的样子:

<asp:ScriptManager ID="ScriptMgr" runat="server" EnablePageMethods="true"></asp:ScriptManager>
<asp:TextBox ID="TextBox" runat="server" onblur="textboxOnBlur()"></asp:TextBox>
<script>
     function onSuccess() {
        alert("success");
    }

    function onFailure() {
        alert("failure");
    }

    function textboxOnBlur() {
        PageMethods.CheckDBForCodes(onSuccess, onFailure);
        //alert("test");
    }

</script>

这里应该由PageMethods调用服务器端函数:

 <System.Web.Services.WebMethod()>
Protected Shared Sub CheckDBForCodes() 
    `search DB for codes
End Sub

出于某种原因,我仍然收到错误消息,指出PageMethods未定义。如您所见,当您单击文本框时,将调用textboxOnBlur函数。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

PageMethods对象未定义的原因是因为服务器端功能的访问修饰符设置为Protected。我把它改为Public,一切都很好。