[英]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.