I agree with @aspnet_regiis.
The same type of question is discussed
here[
^].
The WebMethods are always atatic.
For details check the link below.
So, why do page method calls have to be static?
If you’re implementing page methods, you’re probably well aware of their excellent performance. They are especially performant compared to the UpdatePanel’s partial postbacks.
They are efficient largely because they do not require the ViewState to be POSTed and they do not create an instance of the Page, while partial postbacks do both of these things. As we now know, a page method couldn’t create an instance of the page even if desired, since the ViewState isn’t provided in the request.
This is exactly why they must be marked as static. They cannot interact with the instance properties and methods of your Page class, because a page method call creates no instance of the Page or any of its controls.
Page methods are roughly equivalent to shorthand for standalone web services. In fact, the ScriptManager even calls them exactly as it would a regular web service.
Go through the link and learn the fundamentals.
As the WebMethod is static, it cannot call one normal method of the Page class.
If you want to call one method inside the WebMethod, you need to mark it as Static.
Thanks...