簡體   English   中英

從靜態Web方法調用ASP.NET頁面非靜態方法

[英]Calling ASP.NET page non-static methods from static web methods

我需要通過使用靜態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();
    }

你做不到 這甚至沒有意義。

頁面的實例方法與頁面的特定實例有關。 當您使用靜態Web方法(頁面方法)時,沒有頁面實例。

如果可以從Web方法中調用實例方法,則意味着該實例方法應該是靜態方法。 您可以僅將static方法添加到該方法中並使其仍然起作用嗎? 如果不是,則取決於頁面的特定實例,並且當沒有實例時,您根本無法調用它。


請注意,頁面實例僅在其正在服務的HTTP請求期間存在。 在您的客戶端代碼調用Web服務時,該HTTP請求已經結束,並且頁面實例消失了。

您無法執行此操作,但是輸入了txtFindingNum.Text字段,您可以使用js或jq在客戶端(在回發后將更改保存在服務器中)進行更改,如下所示:

$("#<%=txtFindingNum.ClientID%>").val("Ajax is da bomb");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM