我有一个asp.net应用程序。我创建了一个继承自Page类的BasePage类。所有aspx页面都继承了该BasePage。有一个在BasePage中设置会话的功能。以下是代码
public class BasePage : Page
{
public string UserName { get; set; }
public BasePage()
{
if (!SetSession())
{
Response.Redirect("login.aspx");
}
}
private bool SetSession()
{
if (Request!=null && Request.QueryString["myvalue"] != null)
{
this.UserName = ....
return true;
}
return false;
}
有一个default.aspx页面,它由BasePage继承。一旦我获取default.aspx页面,它就会显示错误“请求在此上下文中不可用”。我正在使用Windows Server 2003.任何人都可以帮我解决这个问题。
答案 0 :(得分:1)
尝试使用下面的请求
HttpContext.Current.Request
而不是从Page
类
更新工作代码副本(已测试)
public partial class _Default : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
public class BasePage : Page
{
public string UserName { get; set; }
public BasePage()
{
if (!SetSession())
{
}
}
private bool SetSession()
{
if (HttpContext.Current.Request != null && HttpContext.Current.Request.QueryString["myvalue"] != null)
{
}
return false;
}
}