我在asp.net的虚拟网站上有两个页面(default.aspx和default2.aspx),在default.aspx上,我创建了如下所示的会话
protected void Page_Load(object sender, EventArgs e)
{
Session["MySession"] = "WELCOME";
Session.Timeout = 1;
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("default2.aspx");
}
和default2.aspx
if (Session["MySession"] != null)
Response.Write(Session["MySession"]);
else
Response.Write("Session Timed Out");
我想知道1分钟后会话会被擦除,因为我有超时,但一分钟后,当我点击按钮时,它将我重定向到default2.aspx,并显示会话值"欢迎"。有人能告诉我如何在特定的持续时间后擦除会话值吗?
在您的Default.aspx
中,您必须检查它是否不是post-back,否则会话将再次初始化,每次单击按钮
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.isPostBack())
{
Session["MySession"] = "WELCOME";
Session.Timeout = 1;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("default2.aspx");
}