2017-04-15 59 views
0

對不起我的英文不好。
我在我的項目中有一個Default.aspx頁面,其中包含一個文本框和一個按鈕。所以當客戶點擊按鈕時,瀏覽器調用我的網絡服務WebService.asmx.cs中的方法,將textbox.Text作爲參數。
(e.g NameSpace.WebService.Say("Hi"); in js)
但我需要將結果("Hi")報告給我的默認頁面,以便在UpdatePanel中顯示它們,我不知道如何獲取頁面。
我試過(Default)HttpContext.Current.CurrentHandler但它是null。 有沒有其他方法可以獲得該頁面?如何從asp網站的課程中獲得頁面

回答

1

您在調用靜態(webmethod)方法時無法訪問Page對象。靜態方法不能訪問它所屬類的實例。

選項包括:
1.保存Session中的值。 (HttpContext.Current.Session應該是可訪問的),並在從會話訪問它後在下一頁加載顯示它。這是一個迂迴的方式,你將不得不裝飾web屬性的方法:[WebMethod(EnableSession = true)]
2.而不是使用web服務,只需更新客戶端本身使用JavaScript的標籤。

+0

正如你所說,沒有辦法做到這一點。所以我現在在使用AJAX,它很棒。 – Bamdad