在Asp.net中将会话值分配给标签

时间:2012-12-29 12:34:03

标签: asp.net visual-studio-2008 session label contentplaceholder

我有两个主页。在第一个母版页中,我有一个login.aspx页面,它打开一个会话[“用户名”]。在第二个母版页中,我有一个链接到它的子母版页。在子母版页中,我在父母版页的contentplaceholder中有一个contentplaceholder。我能够将会话值分配给除了子母版页的contentplaceholder之外的所有标签。没有错误,但运行时的标签显示为空白。我希望将会话[“username”]值分配给标签。

Label1.text=(string)session["username"] doesnt work.

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

  

我可以将会话值分配给除了子母版页的contentplaceholder内的所有标签。

好的,正如您所知session变量在整个网络应用程序中保持其价值。因此,您的会话在不同页面上正常工作意味着标签显示的值为session["username"]。如果是,那么您应该在variable(Label1.Text)分配值。

  

这是正确的标签吗?
  你的标签是否可见?

答案 1 :(得分:0)

Label1.Text= Session["username"] == null ? "Guest." : (string)Session["username"];

使用此代码,您将不再看到空白标签,它决定显示用户名(如果存在)或“访客”。如果Session["username"]为空。

当会话未填满时,这意味着您的假设(您的会话有价值)是错误的,您需要仔细查看会话获得价值的代码,看看那里出了什么问题。