我的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();
}
答案 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
并返回一个空字符串。