我在asp.net的虚拟网站上有2个页面,(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,并显示会话值“WELCOME”。任何人都可以告诉我如何在特定时间后删除会话值
答案 0 :(得分:3)
在您的Default.aspx
中,您必须检查它是否不是回复,否则每次点击按钮都会再次初始化会话
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");
}