Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 父进程中的会话_C#_Asp.net_Webforms - Fatal编程技术网

C# 父进程中的会话

C# 父进程中的会话,c#,asp.net,webforms,C#,Asp.net,Webforms,我有一个从.cs类继承的webform(从Page开始) 我试图从BaseWebForm访问当前会话,但在它的上下文中,它为null。我通过以下方式调用BaseWebForm: 表格页 WebForm1 :BaseWebForm public WebForm1(): Base() { } BaseWebForm.cs类 public BaseWebForm () { //access HttpContext.Current.Session["

我有一个从.cs类继承的webform(从Page开始)

我试图从BaseWebForm访问当前会话,但在它的上下文中,它为null。我通过以下方式调用BaseWebForm:

表格页

WebForm1 :BaseWebForm  
public WebForm1(): Base()
{
}
BaseWebForm.cs类

public BaseWebForm  ()
{
                      //access  HttpContext.Current.Session["User_xComics"]
}

在BaseWebForm上下文中,会话为null,但在WebForm1的上下文中,会话确实存在。有什么问题吗?

BaseWebForm
类应该继承自
System.Web.UI.Page
。您可能应该只使用页面生命周期事件,例如
page\u Load
,而不是在构造函数中执行
Session
工作


用户登录后,您可能应该立即初始化
HttpContext.Current.Session[“user\u xComics”]
。如果这是使用Windows身份验证,最好的位置是在全局应用程序类(.asax.cs)的
会话\u Start
函数中

什么是“heradates”?我想你的意思是“派生”。你在修改你的
BaseWebForm
的什么方法<代码>HttpContext.Current在某些情况下可以为空。如果您使用
OnLoad
方法并访问
this.Request
?您是否考虑过在
Global.asax
文件dai中的
OnSessionStart()
中初始化
HttpContext.Current.Session[“User\u xComics”]
,请查看编辑。MethodMan我还没有尝试过,我将尝试您还需要使用
if(IsPostBack){}
if(!IsPostBack){}
检查
string.IsNullOrEmpty((string)HttpContext.Current.Session[“User\xComics]”时的值,在
Page\u Load
事件中为该值编码
然后强制登录,否则重定向,或让用户继续执行从System.Web.UI.Page继承的Web表单。问题是,我想在让用户访问page@Flezcano然后,您可能应该显示比当前显示的代码更多的代码。。另外,请阅读
OnSessionStart
及其使用方法。。有很多方法可以检查您正在尝试做什么,但根据您在我看来提供的少量信息,无法提供准确的解决方案…@Flezcano然后在我所说的页面生命周期事件中执行此操作
Page\u Load
Page\u PreInit
似乎是很好的候选者。
public BaseWebForm  ()
{
                      //access  HttpContext.Current.Session["User_xComics"]
}