• 响应在此上下文中不可用


    (一)实例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  
      {   
         ///   <summary>   
         ///   Class1   的摘要说明。   
         ///   </summary>   
         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。

  • 相关阅读:
    github使用技巧
    转载---linux运维相关
    session 测试用例详解
    php中使用linux命令四大步骤
    Thinkphp常用的方法和技巧(转)
    转学步园:jquery offset
    jquery冒泡及阻止
    nginx搭建流媒体服务器的方法详解
    SetTimeOut jquery的作用
    再也不要说,jquery动画呆板了
  • 原文地址:https://www.cnblogs.com/huazai8204/p/763677.html
Copyright © 2020-2023  润新知