繁体   English   中英

ASP.NET中的Cookie和会话状态

[英]Cookies and session state in asp.net

我想使用用户键入的名称,然后使用会话状态将此名称显示在另一个aspx页面上。

在用户输入页面上,我拥有的代码名称是

Session["name"] = TextBox1.ToString(); //Store the session state in a variable called name from the text box.

Response.Redirect("page2.aspx");

现在在page2.aspx上,我尝试调用此变量,但似乎没有任何效果。

我在页面上有一个空的label1,所以我希望将名称存储到空标签中

Label1 = Session["name"];

错误消息将类型对象转换为System.Web.UI.WebControlers.Label

Session["name"] = TextBox1.Text.ToString();    

Label1.Text = Session["name"].ToString()

有两个错误:首先,您尝试分配Label1变量,而不是标签的文本,因此得到了错误。 Session[key]返回object ,而Label1的类型为System.Web.UI.WebControlers.Label

第二个-您已将值设置为user会话值,并尝试通过username变量进行访问。

Session["username"]是对象类型,无法使用隐式强制转换分配给label 您将在Session["username"]有一个字符串,调用ToString()会得到一个字符串,然后您可以将用户名分配给标签文本属性。

Label1.Text = Session["username"].ToString();

最好这样做,因为如果value为null,它将不会引发异常:

Label1.Text = (string)Session["username"];

如果确定设置了username则可以执行以下操作:

Label1.Text = Session["username"].ToString();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM