2

我在服务器类下得到一个红色下划线:

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

错误是:

无法通过嵌套类型“AnswerQuestion.ThreadTable”访问外部类型“System.Web.UI.Page”的非静态成员

AnswerQuestion 是部分类,ThreadTable 是我制作的自定义类。

4

3 回答 3

7

您不在Page实例内部,因此您无权访问该Server属性,这是ServerHTTP 上下文中该属性的快捷方式。

使用静态Current属性获取当前页面的上下文:

HttpContext.Current.Server.Transfer("~/PostEdit.aspx");
于 2011-06-25T12:03:13.470 回答
1
HttpContext.Current.Handler
HttpContext.Current.Request.Server.Transfer

Context.Handler是 的一个实例HttpContext

HttpContext在属性下公开请求的 CURRENT 实例HttpContext.Current,但是当前上下文也可以HTTPHandlers在 ProcessRequest 方法中传递:

void ProcessRequest(HttpContext context)
于 2011-06-25T12:26:16.677 回答
0

该异常清楚地表明您正在访问类中的非静态成员。它与 Server.Transfer() 无关。

于 2011-06-25T12:10:29.423 回答