我在一个页面输入用户名和密码,然后用Session传递他们到另外一个页面,在那里判断是否用户密码是否正确,是则宣示欢迎该用户。但是:
if ( Session["Name"]=="user" && Session["password"]== "123")
{
Label1.Text = "欢迎进入!" + Session["Name"];
Response.Write(Session["Name"]);
}
(1) if总是不为真,我明明是输入user和123 ?是Session类型不是字符串吗?
(2 ) 我直接Label1.Text =Session["Name"];总是不对,好像提示类型不匹配,写为Label1.Text = "欢迎进入!" + Session["Name"];却没问题?
关于Session[..]返回的变量的是什么类型?
答案:6 悬赏:60
解决时间 2021-03-21 13:28
- 提问者网友:✐ۖ﹏ℳ๓北风
- 2021-03-21 04:24
最佳答案
- 二级知识专家网友:心与口不同
- 2021-03-21 05:51
呵呵,楼主大意了
(1)Session 中可以存任何object类型的变量
Label1.Text =Session["Name"]; 如果这么写应该报的错是"不能将object类 型隐式转换成string类型....",因为你在直接赋值的时候是Session是将"user"和"123"当成object 了
这样写就对了:Label1.Text =Session["Name"].ToString();
(2)C# 中有自动转换类型的功能(比如 "123"+123="123123" 而不是 246)
所以 Label1.Text = "欢迎进入!" + Session["Name"]; 中的Session是被自动转换成了string类型
(1)Session 中可以存任何object类型的变量
Label1.Text =Session["Name"]; 如果这么写应该报的错是"不能将object类 型隐式转换成string类型....",因为你在直接赋值的时候是Session是将"user"和"123"当成object 了
这样写就对了:Label1.Text =Session["Name"].ToString();
(2)C# 中有自动转换类型的功能(比如 "123"+123="123123" 而不是 246)
所以 Label1.Text = "欢迎进入!" + Session["Name"]; 中的Session是被自动转换成了string类型
全部回答
- 1楼网友:茫然不知崩溃
- 2021-03-21 11:39
Session可以保存任何值,所以只能返回object...
取得后根据需要进行类型转换就OK
- 2楼网友:转身→时光静好
- 2021-03-21 11:03
session是一个object,使用时注意类型转换。
Session["Name"].ToString()=="user"就对了
第二个问题也是同样道理,Label1.Text =Session["Name"].ToString()
至于最后一个问题,一个字符串和一个object类型进行运算(直接运算是不可能的)系统会把object自动转换为string型,再进行运算
- 3楼网友:茫然不知崩溃
- 2021-03-21 09:32
list list=new arraylist();
list.add(1);
list.add(2);
list.add(3);
session.setattribute("list",list);
//下面这个方法返回的就是一个list变量
session.getattribute("list");
- 4楼网友:青春如此荒謬
- 2021-03-21 08:31
session 存的时object类型.使用时要转换成具体类型.
if ( Session["Name"].ToString()=="user" && Session["password"].ToString()== "123")
Label1.Text =Session["Name"].ToString();
写为Label1.Text = "欢迎进入!" + Session["Name"];
没问题是因为存在了隐式转换,等价于
Label1.Text = "欢迎进入!" + Session["Name"].ToString();
- 5楼网友:伤口狠精致
- 2021-03-21 07:22
Session具有以下特点:
Session中的数据保存在服务器端;
Session中可以保存任意类型的数据;
Session默认的生命周期是20分钟,可以手动设置更长或更短的时间
假设我们要设置一个Session用来保存用户名,这个Session的名字是“UserName”,值是“zhoufoxcn”,代码如下:
Session[“UserName”]=”zhoufoxcn”;
对于上面的Session,获取Session的值的代码如下:
string username=(string)Session[“UserName”];
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯