日期:2014-05-18  浏览次数:21266 次

紧急求助:“System.Web.HttpException: 请求在此上下文中不可用”解决办法
我写了个类(Library_oa)取cookies,然后在页面中取出来显示,一运行就提示说“System.Web.HttpException:   请求在此上下文中不可用”,cookies值肯定是有的。请高手帮我解决,谢谢!
附带错误文件:
1、类文件:
using   System;
using   System.Text;
using   System.Web;
using   System.Web.UI;
using   System.Web.Security;
using   System.Configuration;

namespace   Library_oa
{
///   <summary>
///   GetUser   的摘要说明。
///   </summary>
public   class   GetUser
{
private   string   PassCode   =   " ";

public   System.Web.UI.Page   Page=new   System.Web.UI.Page();

public   GetUser()
{
//
//   TODO:   在此处添加构造函数逻辑
//
//string   uss=userState.UserInfo.GetValue( "WorkNo ");

}

public   string   GetId()
{
try  
{

if   (Page.Request.Cookies[ "GoodwaySoftware "].ToString()!=null)
{
if   (Page.Request.Cookies[ "GoodwaySoftware "].Value.Trim().Length   >   0)
{
PassCode   =   Page.Request.Cookies[ "GoodwaySoftware "].Value.Trim();
}
}
}
catch(Exception   ex)
{
throw   new   Exception(ex.Message);
}

return   PassCode;
}
}
}

2、调用页面
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;

using   Library_oa;

namespace   yth_oa
{
///   <summary>
///   test   的摘要说明。
///   </summary>
public   class   test   :   System.Web.UI.Page
{
protected   System.Web.UI.WebControls.Label   Label1;

private   void   Page_Load(object   sender,   System.EventArgs   e)
{
try
{
GetUser   u=   new   GetUser();
string   uss=u.GetId();

Label1.Text=uss;
}
catch(Exception   ex)
{
Response.Write(ex.Message);  
}

}

#region   Web   窗体设计器生成的代码
override   protected   void   OnInit(EventArgs   e)
{
//
//   CODEGEN:   该调用是   ASP.NET   Web   窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

///   <summary>
///   设计器支持所需的方法   -   不要使用代码编辑器修改
///   此方法的内容。
///   </summary>
private   void   InitializeComponent()
{        
this.Load   +=   new   System.EventHandler(this.Page_Load);

}
#endregion
}
}


------解决方案--------------------
是不是应该用HttpContext.Current
------解决方案--------------------
GetUser类中
Page.Request.Cookies改成HttpContext.Current.Request.C