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

时间:2012-04-25 17:17:12

标签: javascript asp.net ajax vb.net pagemethods

我正在尝试使用PageMethods从服务器端调用函数,但是我收到一个错误,即PageMethods未定义。

这是我在html中添加的内容

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

这里是后面代码的函数。

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

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

PageMethods.LoadChild(lnEntityID, lnEntityCat, GLOBALEQUIPID, FullExpand, 0);

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

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

prm4.Value = Session.Item("user_id")

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

错误305如果没有类的显式实例,则无法在共享方法或共享成员初始值设定项中引用类的实例成员。

1 个答案:

答案 0 :(得分:6)

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