首页  ·  知识 ·  云计算
响应在此上下文中不可用
佚名  http://www.cnblogs.com/huazai8204/archive/2007/05/  综合  编辑:dezai  图片来源:网络
一)实例1:在asp.net程序中添加了一个 类.cs 如下 using System; using&

一)实例1:
在asp.net程序中添加了一个   类.cs   如下
  using   System;  
  using   System.Collections;  
  using   System.ComponentModel;  
  using   System.Data;  
  using   System.Drawing;  
  using   System.Web;  
  using   System.Web.SessionState;  
  using   System.Web.UI;  
  using   System.Web.UI.WebControls;  
  using   System.Web.UI.HtmlControls;  
   
  namespace   My    
  {  
            public   class   Yuna:   System.Web.UI.Page  
          {  
              public   Yuna()  
              {  }  
              public   void   P1()  
              {  
                 Response.Write("调用P1");  
              }  
              public   void   P2()  
              {  
                 Response.Write("调用P2");  
              }  
          }  
  }  
   
  -------------------------------------------------------- 
  在其它的网页后台编码文件中该如何引用?我Page_Load中我这样写的,提示响应在此上下文中不可用,错误!
  private   void   Page_Load(object   sender,   System.EventArgs   e)  
  {  
        Yuna   y   =   new   Yuna();  
        y.P1();  
        y.P2();  
  }  
   
--------------------------------------------------------------------
解决方案:
public   class   Yuna         {  
  public   Yuna()  
  {  }  
  public   void   P1()  
  {  
     System.Web.HttpContext.Current.Response.Write("调用P1");  
  }  
  public   void   P2()  
  {  
     System.Web.HttpContext.Current.Response.Write("调用P2");  
  }

   Yuna   y   =   new   Yuna();  
   y.P1();  
   y.P2();  
   你这个   y   是没有经过ASP.NET初始化的,所以没有关联   HttpContext 。
   一般   Page   实例都不应该由用户创建。ASP.NET创建Page后,会调用它的一个内部的方法ProcessRequest并且把HttpContext传进去的。你没有那一步,所以不行。

(二)实例2:
using   System;  
   
  namespace   Txl  
  {  
     ///  

  
     ///   Class1   的摘要说明。  
     ///  
  
     public   class   Fail:System.Web.UI.Page  
     {  
        public   void   HtmlInfo()  
        {  
           Response.Write("sadf");  
        }  
      }  
  }  
   
  在另一页中调用  
  private   void   Page_Load(object   sender,   System.EventArgs   e)  
  {  
     Fail   f=new   Fail();  
     f.HtmlInfo();  
     //Response.Write(x);//   在此处放置用户代码以初始化页面  
  }

  响应在此上下文中不可用。    
  说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。    
   
  异常详细信息:   System.Web.HttpException:   响应在此上下文中不可用。  
   
  源错误:     
  行   10:   public   void   HtmlInfo()  
  行   11:   {  
  行   12:   Response.Write("sadf");  
  行   13:   }  
  行   14:   }  

--------------------------------------------------------------------
解决方案:
只有你的页面是ASP.NET调用的,你的Page类里的Response对象才有意义。 
如果你需要在你自己的类里调用Response,请用System.Web.HttpContext.Current.Response。

本文作者:佚名 来源:http://www.cnblogs.com/huazai8204/archive/2007/05/
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读