我在服务器类下面有一个红色下划线:
Server.Transfer("~/PostEdit.aspx");
错误是:
无法通过嵌套类型'AnswerQuestion.ThreadTable'访问外部类型'System.Web.UI.Page'的非静态成员
AnswerQuestion是部分类,而ThreadTable是我制作的自定义类。
答案 0 :(得分:7)
您不在Page
实例中,因此您无权访问Server
属性,该属性是HTTP上下文中Server
属性的快捷方式。
使用静态Current
属性获取当前页面的上下文:
HttpContext.Current.Server.Transfer("~/PostEdit.aspx");
答案 1 :(得分:1)
HttpContext.Current.Handler
HttpContext.Current.Request.Server.Transfer
Context.Handler
是HttpContext
的实例。
HttpContext
在HttpContext.Current
属性下公开请求的CURRENT实例,但是当前上下文也可以在ProcessRequest方法中的HTTPHandlers
中传递:
void ProcessRequest(HttpContext context)
答案 2 :(得分:0)
该例外明确表示您正在访问班级中的非静态成员。它与Server.Transfer()无关。