会话值抛出异常

时间:2018-03-10 19:46:40

标签: c# asp.net webforms

我将会话值从一个页面传递到另一个页面,如下所示......

来自Page1

Session["k3"] = "Val3"
Session["k4"] = "Val4"
Response.Redirect("~/Page2.aspx");

Page 2中,我没有获得值

public partial class Page2 : System.Web.UI.Page
{
        string k3 = System.Web.HttpContext.Current.Session["k3"].ToString(); //Not Working.
        string k4 = System.Web.HttpContext.Current.Session["k4"].ToString(); //Not Working.

        protected void Page_Load(object sender, EventArgs e)
        {

        }
}

如果我重定向到任何其他网页,我会收到SessionK3的所有K4个值

我尝试了什么: 在debugging Session之前,所有Response.Redirect值均可用Session

所有pages值都可用于项目中的其他Session.Clear(),因为我可以通过打开其他标签页中的其他页面来查看其结果。

我对Session.Abandon()Page2进行了双重交叉检查,但我没有在from cerberus import Validator schema = { 'value_1': { 'type': 'integer', 'default': 0, }, 'value_2': { 'type': 'integer', 'excludes': ['value_1'] } } v = Validator(schema) for doc in [{}, {'value_2': 1}, {'value_2': 2, 'value_1': 3}]: print('Doc: {}'.format(doc)) n_doc = {} if not v.validate(doc, schema): print('Error: {}'.format(v.errors)) n_doc = v.normalized(doc) n_doc.update(v.normalized({})) else: n_doc = v.normalized(doc) print('Result: {}'.format(n_doc)) 中使用它们

我无法理解我在这里缺少的东西。

1 个答案:

答案 0 :(得分:0)

Page_Load事件中的声明和分配正在解决此问题。

public partial class Page2 : System.Web.UI.Page
{

        protected void Page_Load(object sender, EventArgs e)
        {
             string k3 = System.Web.HttpContext.Current.Session["k3"].ToString(); //Not Working.
             string k4 = System.Web.HttpContext.Current.Session["k4"].ToString(); //Not Working.
        }
}