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

本文关键字:设置 对象 实例 对象引用 SP2010 取文件属性 | 更新日期: 2023-09-27 17:58:05

我有一个sharepoint文档库,它有一个名为"DocumentType"的自定义字段,这不是强制性字段。当我试图使用下面的代码读取此属性时,当值在该字段中时,它可以正常工作,但如果它的值为空,则会出现错误"对象引用未设置为对象实例。"如果值不在,我需要传递空字符串以进行进一步的逻辑,我该如何处理?

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();
}

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

这样做:

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

更改这段代码:

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

对此:

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

当值为null时,ToString()抛出异常,而Convert.ToString()方法测试null并返回一个空字符串。