【问题标题】:Whats the namespace of Server.Transfer method?Server.Transfer 方法的命名空间是什么?
【发布时间】:2011-06-25 11:58:03
【问题描述】:

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

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

错误是:

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

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

【问题讨论】:

  • 这与命名空间无关。阅读错误信息。一个字一个字。
  • 除此之外,方法没有直接的命名空间,而是属于类,而这些类又被分类在命名空间中。

标签: c# asp.net server.transfer


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:
    HttpContext.Current.Handler
    HttpContext.Current.Request.Server.Transfer
    

    Context.HandlerHttpContext 的一个实例。

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

    void ProcessRequest(HttpContext context)
    

    【讨论】:

    • 不,HttpContext.Hander 是处理程序的一个实例,即Page 实例。
    【解决方案3】:

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

    【讨论】:

    • 服务器是访问的非静态成员
    • @Rune FS - 是的,Rune,这就是我要说的。
    • "它与 Server.Transfer() 无关" 我明白要说它与 Server 无关.....对我来说它与 Server 无关... . 因此我的评论
    猜你喜欢
    • 1970-01-01
    • 2011-03-23
    • 2014-11-02
    • 2019-09-27
    • 2011-04-24
    相关资源
    最近更新 更多