1

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クラスの明示的なインスタンスがないと、共有メソッドまたは共有メンバー初期化子内からクラスのインスタンスメンバーを参照できません。

4

1 に答える 1

6

ページメソッドはstatic(C#)/ shared(VB.NET)メソッドである必要があります。それ以外の場合は機能しません。はい、静的メソッドでインスタンスプロパティを参照することはできません。オブジェクトを取得Sessionするには、を使用できますHttpContext.Current.Session

于 2012-04-25T18:14:44.133 に答える