问题描述
|
有谁知道如何检查.net c#Web应用程序中的会话为空还是空?
例:
我有以下代码:
ixCardType.SelectedValue = Session[\"ixCardType\"].ToString();
它总是显示Session [\“ ixCardType \”]的错误(错误消息:对象引用未设置为对象的实例)。无论如何,我可以在转到.ToString()之前检查会话。
解决方法
像“ if”这样简单的事情应该起作用。
if(Session[\"ixCardType\"] != null)
ixCardType.SelectedValue = Session[\"ixCardType\"].ToString();
或类似以下内容,如果您希望在会话值为null时使用空字符串:
ixCardType.SelectedValue = Session[\"ixCardType\"] == null? \"\" : Session[\"ixCardType\"].ToString();
,使用as
运算符转换object
,如果该值未能转换为所需的class
类型,或者它本身是null
,则返回null
。
string value = Session[\"ixCardType\"] as string;
if (String.IsNullOrEmpty(value))
{
// null or empty
}
,您可以将结果分配给变量,并在调用ToString()之前对其进行空/空测试:
var cardType = Session[\"ixCardType\"];
if (cardType != null)
{
ixCardType.SelectedValue = cardType.ToString();
}