Value ='p.Value'抛出了'System.NullReferenceException'类型的异常

时间:2013-03-11 12:29:33

标签: asp.net umbraco

在我的umbraco网站上,我得到了这样的代码

 var  p = currentNode.GetProperty("ucc") as Property;
 if (p != null && !string.IsNullOrEmpty(p.Value.Trim()))
 mailCC = p.Value;

但它总是会抛出这样的错误

Value = 'p.Value' threw an exception of type 'System.NullReferenceException'

注意:我确定P.Value是Null enter image description here

2 个答案:

答案 0 :(得分:3)

Trim()方法为空时调用p.Value方法会抛出错误。在您的代码中,这是在string.IsNullOrEmpty执行检查之前发生的。

将表达式修改为以下内容应该修复它。

<强>代码:

var p = currentNode.GetProperty("ucc") as Property;
if (p != null && !string.IsNullOrWhiteSpace(p.Value))
    mailCC = p.Value

<强>参考:

  

String.IsNullOrWhiteSpace:指示指定的字符串是空,空还是仅包含空格字符。

答案 1 :(得分:0)

+1给Goran Mottram指出原因并给出正确的建议。在进行任何方法调用之前,应始终检查null。