
asp.net传值session问题
问一下session传值的时候,取值的页面为什么session后面要加上tostring不加就会出错。这是为什么谢谢...
问一下session传值的时候,取值的页面为什么session后面要加上tostring 不加就会出错。这是为什么 谢谢
展开
7个回答
展开全部
Session中的元素都是装箱之后的object,使用的时候需要拆箱。而ToString()是最简单的拆箱,把元素拆箱成字符串,如果原来是string类型,那么tostring的结果就是原来的字符串,如果原来是引用类型的话,tostring默认返回的是类名。
所以不建议使用tostring来完成session元素的拆箱,而是建议用如下的方式:
int value = (int)Session["Key"];
string value = (string)Session["Key"];
MyClass value = (MyClass)Session["Key"];
所以不建议使用tostring来完成session元素的拆箱,而是建议用如下的方式:
int value = (int)Session["Key"];
string value = (string)Session["Key"];
MyClass value = (MyClass)Session["Key"];
展开全部
tostring是把你传过来的值转换为字符串型,不转的话就会可能因为数据类型不匹配而报错。但这也不是绝对的,要看你接收session的变量定义的什么类型。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为session里存的是object类型的。
如果你要拿string类型的接 就需要。Tostring()
如果你要拿string类型的接 就需要。Tostring()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为你接收传值的是用string 类型
httpsession[""] 传过来的都是object类型
类型不一样,当然会报错
如果你用一个object 类型来接收httpsession[""]
就不用tostring 也不会报错
httpsession[""] 传过来的都是object类型
类型不一样,当然会报错
如果你用一个object 类型来接收httpsession[""]
就不用tostring 也不会报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
接session的变量和session的类型要一致,不然肯定会出错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样解释:
Session["变量名"]里面存储的对象类型的数据也就是Object的;
如果需要使用该值的话就需要进行类型的转换如下:
string User = Session["变量名"].toString();
Session["变量名"]里面存储的对象类型的数据也就是Object的;
如果需要使用该值的话就需要进行类型的转换如下:
string User = Session["变量名"].toString();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询