从第一页开始会话时,Label的文本没有显示任何内容

时间:2012-07-28 06:10:07

标签: c# asp.net

我正在尝试将第一个.aspx页面中的Label.Text会话转到第二个.aspx页面中的另一个Label。我从数据库中检索我的值并将它们放在第一个Label.Text中,并希望将此标签(我从数据库中获取文本)转发到链接到第一页的另一个页面。我使用这种方法是因为我有一个详细的产品页面(我的第一个.aspx页面),它包含许多产品,当用户点击某个特定产品时,它的产品名称必须显示在.aspx的第二页中。我的问题是,当我在第一页上的Label文本上进行Session时,该值不会传递给另一个页面。

我的第一页的.cs代码(代码隐藏):

Session["productName"] = productName.Text;
    Response.Redirect("products2.aspx");

我的第二页的.cs代码(代码背后 - 我将此代码放在页面加载中)

if (Session["productName"] != null)
        productName.Text = Session["productName"].ToString();

我在哪里出错了?

2 个答案:

答案 0 :(得分:0)

为了使会话长时间不过期,您应该遵循两个步骤。

Keep a continous eye on the Session Timeout.
Redirect the session when its about to expire.

检测会话的基页将向您解释您需要做的每件事,请参考一次。

答案 1 :(得分:0)

你的代码完全正确.. 但我的问题是你在页面加载中使用ispostback吗?

如果没有那么就像这样使用它...因为回发有时候你无法获得价值。 然后把你的代码如果不回发

page_load()
{
if(ispostback)
{

}
else
{
//put your code here
}
}