从静态Web方法调用ASP.NET页面非静态方法

Dea*_*tin 0 c# asp.net

我需要使用静态WebMethod在用户所在的活动(当前)asp页面中调用非静态方法.我怎样才能做到这一点?

这两种方法都在ASP页面的cs文件中.

    public void NormalMethod()
    {
        txtFindingNum.Text = "Ajax is da bomb";
    }

    [WebMethod]
    public static void MyWebMethod()
    {
        // This is the part I need help with...
        DoIt();
    }
Run Code Online (Sandbox Code Playgroud)

Joh*_*ers 5

你不能这样做.它甚至没有意义.

页面的实例方法是关于页面的特定实例.当您使用静态Web方法(页面方法)时,没有页面实例.

如果可以从Web方法调用实例方法,则意味着实例方法应该是静态方法.你能添加static到那个方法并让它仍然有效吗?如果没有,那么它取决于页面的特定实例,并且当没有实例时你根本无法调用它.


请注意,页面实例仅在其提供的HTTP请求期间存在.当客户端代码调用Web服务时,该HTTP请求已经结束,页面实例消失了.