2011-06-25 22 views
2

我得到的服務器類下一個紅色下劃線:什麼是Server.Transfer方法的命名空間?

Server.Transfer("~/PostEdit.aspx"); 

的錯誤是:

通過嵌套無法訪問外類​​型的非靜態成員「System.Web.UI.Page」類型'AnswerQuestion.ThreadTable'

AnswerQuestion是部分類,ThreadTable是我做的一個自定義類。

+0

這有什麼好做的命名空間。閱讀錯誤消息。逐詞地。 – TomTom

+0

除了已經說過的之外,方法沒有直接的命名空間,而是屬於類,而這些類又被分類到命名空間中。 –

回答

7

您不在Page實例中,因此您無權訪問Server屬性,該屬性是HTTP上下文中Server屬性的快捷方式。

使用靜態Current屬性來獲取當前頁面的上下文:

HttpContext.Current.Server.Transfer("~/PostEdit.aspx"); 
0

異常清楚地說,你正在訪問在類中的非靜態成員。它與Server.Transfer()無關。

+0

服務器是非靜態成員訪問 –

+0

@Rune FS - 是符文,這就是我說的。 – Bibhu

+0

「它與Server.Transfer()無關」「我明白,說它與服務器無關......對我來說它與服務器有關......所以我的評論 –

1
HttpContext.Current.Handler 
HttpContext.Current.Request.Server.Transfer 

Context.HandlerHttpContext的一個實例。

HttpContext暴露出當前實例爲下HttpContext.Current屬性的請求,但目前情況下,也可以在HTTPHandlers在ProcessRequest方法通過:

void ProcessRequest(HttpContext context) 
+0

不, 'HttpContext.Hander'是處理程序的一個實例,即'Page'實例。 – Guffa

相關問題