Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在asp.net中检查会话?_Asp.net - Fatal编程技术网

在asp.net中检查会话?

在asp.net中检查会话?,asp.net,Asp.net,在我的web应用程序中,我检查会话状态如下。。在页面加载中甚至有一个页面,但它是每次会话不为null时显示的,请看这是我的代码 if (Session["my"] != null) { Response.Write("hi"); } else { Response.Redirect("default.aspx"); } 这是我为会话赋值的页面,就像我正在进行的那样 一个按钮和一个链接按钮,然后像这样编写代码 protected void btn_Click(object sender,

在我的web应用程序中,我检查会话状态如下。。在页面加载中甚至有一个页面,但它是每次会话不为null时显示的,请看这是我的代码

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");
}
但每次它显示我的意思是,即使我点击链接按钮,它也会显示“嗨”的信息
您能帮我一下吗?是否有任何iPostback问题?是否有问题?每次请求页面时都会执行页面加载

这就是为什么(当您的会话!=null时)屏幕上会显示“Hi”。你只是想让这种事发生一次吗

如果是,请探索


这是正常的,因为您为会话变量“my”赋值,如果会话变量“my”不为null,则在default.aspx中写入“hi”

换线就行了

Response.Write("hi");


您将看到会话变量“my”的值

如果您添加另一个按钮并单击处理程序会怎么样:

protected void Button2_Click(object sender, EventArgs e)
{
   Session.Abandon();
   Response.Redirect("default1.aspx");
}
我希望会话将被清除,这样“Hi”就不会被打印出来

发生的事情(我猜)是你在会话中放了一些东西,但从未清除它


注意:该
会话.放弃()
清除整个会话。您还可以使用Session.Remove(“我的”)仅清除此值。

@m.edmondson我想检查会话是否为空,它是重定向默认值。aspx。如果会话包含值“hi”,则应发送消息display@Surya-您正在重定向到回发上的另一个页面(default1.aspx)您确定这不是您看到的“Hi”页面吗在?@m.edmondson上,我在按钮而不是链接按钮中分配会话值,并重定向到default1.aspx页面,其中我检查会话是否为空,如果会话值为空,则重定向到default1.aspx页面is@Surya-几乎可以肯定,这是因为您已经点击了它。它将被分配一个值,因此从该点开始(直到会话到期),它将打印“Hi”。你有没有设置一个断点来检查这个问题?@Surya-那是因为你之前给这个会话指定了“Hi”吗?请学习使用标点符号!
Response.Write(Session["my"].ToString());
protected void Button2_Click(object sender, EventArgs e)
{
   Session.Abandon();
   Response.Redirect("default1.aspx");
}