Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Api 如何在使用SpListItem.Item检索属性之前检查属性是否存在_Api_Sharepoint - Fatal编程技术网

Api 如何在使用SpListItem.Item检索属性之前检查属性是否存在

Api 如何在使用SpListItem.Item检索属性之前检查属性是否存在,api,sharepoint,Api,Sharepoint,我需要获取SplistItem.Item的值。添加了一个新属性“ShortenedUrl”。问题是,旧页面不包含此属性,因此每当站点是旧页面时,我都会得到一个错误“值不在预期范围内” 有没有办法先检查项目是否存在? 在得到价值之前 这是我的密码 'Set shortened URL Dim objShortUrl As Object = postItemById.Item("ows_ShortenedUrl") If objShortUrl IsN

我需要获取SplistItem.Item的值。添加了一个新属性“ShortenedUrl”。问题是,旧页面不包含此属性,因此每当站点是旧页面时,我都会得到一个错误“值不在预期范围内”

有没有办法先检查项目是否存在? 在得到价值之前

这是我的密码

        'Set shortened URL
        Dim objShortUrl As Object = postItemById.Item("ows_ShortenedUrl")
        If objShortUrl IsNot Nothing Then
            blogPost.shortURL = objShortUrl
        Else
            blogPost.shortURL = DBNull.Value
        End If

如何首先检查是否存在“ows\U ShortenedUrl”?

您可以使用Item.Fields.ContainsField进行检查。

SPFieldCollection.ContainsField只检查架构。您可以在模式中定义一个字段,并且该值仍然可以为null。如果您知道它在模式中,只需选中项[fieldName]==null

if (item.Fields.ContainsField(fieldName) && item[fieldName] != null) {

   //do something with it

}