从SP2010读取文件属性时,对象引用未设置为对象的实例

时间:2014-04-12 15:52:11

标签: c# sharepoint-2010 nullreferenceexception

我的sharepoint文档库有自定义字段,名为" DocumentType"这不是必填字段。当我尝试使用下面的代码读取此属性时,当此字段中的值存在时,其工作正常,但其值为空,从而导致错误"对象引用未设置为对象的实例。 #34; 如果没有值,我需要传递空字符串以获得更多逻辑,我该如何处理?

SPFile spFile=Web.GetFile(Context.Request.Url.ToString());
string spDocumentType=string.Empty;
if (spFile.Properties["DocumentType"].ToString() == "INV") *In this line exception throwing where value is empty in this field in the doc library.
{
spDocumentType = spFile.Properties["DocumentType"].ToString();
}

2 个答案:

答案 0 :(得分:1)

这样做:

if(spFile.Properties["DocumentType"] !=null)
 {
   spDocumentType = spFile.Properties["DocumentType"].ToString() == "INV" ? spFile.Properties["DocumentType"].ToString() : "";

 }
else
{
spDocumentType ="";

}

答案 1 :(得分:1)

更改此代码:

spFile.Properties["DocumentType"].ToString()

对此:

Convert.ToString(spFile.Properties["DocumentType"])

ToString()抛出您在值null时获得的异常时,Convert.ToString()方法会测试null并返回一个空字符串。