在asp.net中检查会话?
在我的web应用程序我检查会话状态这样的..在页面加载,甚至页面之一,但它是每次会议不为空则显示看,这是我的代码...在asp.net中检查会话?
if (Session["my"] != null)
{
Response.Write("hi");
}
else
{
Response.Redirect("default.aspx");
}
这是我在哪里这样的分配值会话我正在 一个按钮和一个链接按钮,并写出这样的代码
protected void btn_Click(object sender, EventArgs e)
{
Session["my"] = "surya";
Response.Redirect("default1.aspx");
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
Response.Redirect("default1.aspx");
}
却是露出每次我的意思是,即使我点击链接的网页按钮它显示“嗨”的消息 可以帮我我有什么ispostback问题是th ERE
页面加载执行每一个页面被请求
时间这就是为什么“你好”被印在屏幕上(如果您的会话!= null),则为。你只是想让它发生一次吗?
如果是这样的探索Page.IsPostBack
private void Page_Load()
{
if (!IsPostBack)
{
// Will only happen if its not a postback
// (first request)
}
}
@ m.edmondson我想检查会话是否为空它是重定向default.aspx.if会话包含值“hi”消息应显示 – 2010-12-07 14:46:15
,因为您的值分配给会话变量“我”和Default.aspx中你写的“喜”如果会话变量“我的”不为空,这是正常。
只需更改行
Response.Write("hi");
到
Response.Write(Session["my"].ToString());
,你会看到会话变量的值, “我的”。
如果添加另一个按钮,然后单击处理程序是什么:
protected void Button2_Click(object sender, EventArgs e)
{
Session.Abandon();
Response.Redirect("default1.aspx");
}
我预计会议将随后清零,以使得“喜”不打印。
发生了什么(我猜)是你在会话中放了一些东西,而且从来没有清除它。
注意:该Session.Abandon()
清除整个会话。您也可以使用Session.Remove("my");
来清除此值。
请学习使用标点符号! – 2010-12-07 14:55:51