pagemethods未定义 - 我相信一切都应该没问题

njj*_*j56 1 javascript vb.net asp.net ajax pagemethods

我试图使用PageMethods从服务器端调用一个函数,但我收到一个错误,即PageMethods未定义.

这是我在html中添加的内容

            <asp:ScriptManager ID="ScriptManager1" runat="server"   
  EnablePageMethods="True">
Run Code Online (Sandbox Code Playgroud)

这里是代码背后的函数.

    <System.Web.Services.WebMethod()> _
Public Function LoadChild(ByVal EntityID, ByVal EntityCat, ByVal lnType, ByVal FullExpand, ByVal lnEquip, ByVal lnTemplate) As String
Run Code Online (Sandbox Code Playgroud)

这是使用页面方法调用函数.

PageMethods.LoadChild(lnEntityID, lnEntityCat, GLOBALEQUIPID, FullExpand, 0);
Run Code Online (Sandbox Code Playgroud)

任何人都可以看到为什么我会继续得到PageMethods未定义的错误?谢谢.

编辑 - 问题的一部分可能是因为函数没有共享,但是当放入共享时,我在大约15个地方得到此错误. - 这是指我正在使用的会话 - 这里是正在使用的会话的片段,显示错误.

prm4.Value = Session.Item("user_id")
Run Code Online (Sandbox Code Playgroud)

我正在通过以下错误消息强调会话一词 - 有关如何解决此问题的任何建议?这可以将整个问题全部解决.

错误305无法在没有类的显式实例的情况下从共享方法或共享成员初始值设定项中引用类的实例成员.

And*_* M. 6

Page方法应该是静态(C#)/共享(VB.NET)方法.否则它不起作用.是的,您不能在静态方法中引用实例属性.获得Session可以使用的对象HttpContext.Current.Session.