2

在我的 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 在此处输入图像描述

4

2 回答 2

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:指示指定字符串是 null、空还是仅包含空白字符。

于 2013-03-11T15:02:23.643 回答
0

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

于 2013-03-11T15:22:39.237 回答