我正在尝试使用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如果没有类的显式实例,则无法在共享方法或共享成员初始值设定项中引用类的实例成员。
答案 0 :(得分:6)
页面方法应该是静态(C#)/共享(VB.NET)方法。否则它不起作用。
是的,您不能在静态方法中引用实例属性。要获取Session
个对象,您可以使用HttpContext.Current.Session
。