using web methods with master pages

后端 未结 3 1016
春和景丽
春和景丽 2021-01-05 01:24

I\'ve got a function on all pages in my site which is located in my master page and I want it to run from some jQuery Ajax method.

I\'ve got some code like this at t

相关标签:
3条回答
  • 2021-01-05 01:46

    Your webmethod code cannot reside in the codebehind for your master page.

    I've found it easier to include an actual web service or WCF service in my project for things that I will need to call from multiple pages.

    EDIT :

    To add a WCF Service to your project:

    1. right click the project
    2. select [WCF Service] and give it a name (ie. Agent.svc)
    3. set up the service (see http://www.codeproject.com/KB/aspnet/jQuery_To_WCF.aspx)

    More than a few examples here on the Stackoverflow...

    Hope that helps.

    0 讨论(0)
  • 2021-01-05 01:48

    You can go the Base Class method route, as Andreas mentioned above.

    Make sure:

    • The webmethod is static.
    • In your Ajax call, dynamically change the URL based on the page you are viewing. Something like this:

    (in Ajax call:)

    url: window.location.pathname.substr(1) + "/GetDate"
    
    0 讨论(0)
  • 2021-01-05 01:56

    How about putting the webmethod in a base class?

    public class WebMethodBase : Page
    {
        <WebMethod> _
        Public Shared Function GetDate() As String
            Return DateTime.Now.ToString()
        End Function
    }
    

    Then inherit this class from those pages you want to expose the webmethod.

    Forgive me for mixed C# and VB, i am not familiar with VB syntax.

    0 讨论(0)
自定义标题
段落格式
字体
字号
代码语言
提交回复
热议问题