关于Session[..]返回的变量的是什么类型?
我在一个页面输入用户名和密码,然后用Session传递他们到另外一个页面,在那里判断是否用户密码是否正确,是则宣示欢迎该用户。但是:if(Session["Name"]=...
我在一个页面输入用户名和密码,然后用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"];却没问题? 展开
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"];却没问题? 展开
5个回答
展开全部
Session具有以下特点:
Session中的数据保存在服务器端;
Session中可以保存任意类型的数据;
Session默认的生命周期是20分钟,可以手动设置更长或更短的时间
假设我们要设置一个Session用来保存用户名,这个Session的名字是“UserName”,值是“zhoufoxcn”,代码如下:
Session[“UserName”]=”zhoufoxcn”;
对于上面的Session,获取Session的值的代码如下:
string username=(string)Session[“UserName”];
Session中的数据保存在服务器端;
Session中可以保存任意类型的数据;
Session默认的生命周期是20分钟,可以手动设置更长或更短的时间
假设我们要设置一个Session用来保存用户名,这个Session的名字是“UserName”,值是“zhoufoxcn”,代码如下:
Session[“UserName”]=”zhoufoxcn”;
对于上面的Session,获取Session的值的代码如下:
string username=(string)Session[“UserName”];
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,楼主大意了
(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类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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();
if ( Session["Name"].ToString()=="user" && Session["password"].ToString()== "123")
Label1.Text =Session["Name"].ToString();
写为Label1.Text = "欢迎进入!" + Session["Name"];
没问题是因为存在了隐式转换,等价于
Label1.Text = "欢迎进入!" + Session["Name"].ToString();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Session可以保存任何值,所以只能返回object...
取得后根据需要进行类型转换就OK
取得后根据需要进行类型转换就OK
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询