为什么我不能读取会话变量

Mar*_*etz 3 c# asp.net session

我有一个#net网络应用程序.我创建会话变量,但是当我离开页面后我尝试读取它们时,我不能.

创建于第1页

Session["UserName"] = "WhatEver";
Run Code Online (Sandbox Code Playgroud)

然后我做

Response.Redirect("~/whatever.aspx"); 
Run Code Online (Sandbox Code Playgroud)

并尝试读取以读取新页面的Page_Load方法中的会话变量

string userName = Session["UserName"].ToString();
Run Code Online (Sandbox Code Playgroud)

我收到 Object reference not set to an instance of an object.

为什么我收到此错误,我该怎么做才能解决问题?

Kar*_*hik 5

这可能有所帮助:

Response.Redirect("~/whatever.aspx",false);
Run Code Online (Sandbox Code Playgroud)

从这篇文章:

这不会中止线程,从而节省会话令牌.实际上,RedirectFromLoginPage在内部使用此重载.