永发信息网

关于Session[..]返回的变量的是什么类型?

答案:5  悬赏:30  手机版
解决时间 2021-11-13 07:55
  • 提问者网友:欲劫无渡
  • 2021-11-12 23:45
关于Session[..]返回的变量的是什么类型?
最佳答案
  • 五星知识达人网友:北方的南先生
  • 2021-11-13 00:17
Session具有以下特点:
Session中的数据保存在服务器端;
Session中可以保存任意类型的数据;
Session默认的生命周期是20分钟,可以手动设置更长或更短的时间
假设我们要设置一个Session用来保存用户名,这个Session的名字是“UserName”,值是“zhoufoxcn”,代码如下:

Session[“UserName”]=”zhoufoxcn”;
对于上面的Session,获取Session的值的代码如下:

string username=(string)Session[“UserName”];
全部回答
  • 1楼网友:毛毛
  • 2021-11-13 04:27
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();
  • 2楼网友:忘川信使
  • 2021-11-13 04:17
呵呵,楼主大意了

(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类型
  • 3楼网友:鸠书
  • 2021-11-13 03:23
Session可以保存任何值,所以只能返回object...
取得后根据需要进行类型转换就OK
  • 4楼网友:神也偏爱
  • 2021-11-13 01:56
session是一个object,使用时注意类型转换。
Session["Name"].ToString()=="user"就对了
第二个问题也是同样道理,Label1.Text =Session["Name"].ToString()

至于最后一个问题,一个字符串和一个object类型进行运算(直接运算是不可能的)系统会把object自动转换为string型,再进行运算
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯