Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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
Sharepoint 2013 CAML查询空超链接字段导致列表不显示_Sharepoint 2013_Caml - Fatal编程技术网

Sharepoint 2013 CAML查询空超链接字段导致列表不显示

Sharepoint 2013 CAML查询空超链接字段导致列表不显示,sharepoint-2013,caml,Sharepoint 2013,Caml,我的列表有两个超链接字段,所有新项目都将填充这两个字段,但我必须添加的一些旧项目并没有同时填充这两个字段。首先,我添加了一些最新的项目,这些项目都有超链接,以测试我的CAML查询是否有效,它确实有效。直到我添加了一个没有填写两个超链接字段的项目 我尝试在字段中添加空格,但不起作用 我的问题是: var hclientContext = new SP.ClientContext.get_current(); var hList = hclientContext.get_web().get_list

我的列表有两个超链接字段,所有新项目都将填充这两个字段,但我必须添加的一些旧项目并没有同时填充这两个字段。首先,我添加了一些最新的项目,这些项目都有超链接,以测试我的CAML查询是否有效,它确实有效。直到我添加了一个没有填写两个超链接字段的项目

我尝试在字段中添加空格,但不起作用

我的问题是:

var hclientContext = new SP.ClientContext.get_current();
var hList = hclientContext.get_web().get_lists().getByTitle('HRReportsList');
// New caml for getting list based on view
var camlQueryHR = new SP.CamlQuery();
camlQueryHR.set_viewXml('<View Scope="RecursiveAll"><Query><Where><And><Eq><FieldRef Name="Year"/>' +
'<Value Type="Text">2019</Value></Eq><Eq><FieldRef Name="Report_x0020_Type"/>' +
'<Value Type="Choice">Turnover</Value></Eq></And></Where>'  +
'<OrderBy><FieldRef Name="YYYYMM" Ascending="False" /></OrderBy>' +
'</Query><RowLimit>50</RowLimit><QueryOptions>' +
'<ViewAttributes Scope="Recursive" /></QueryOptions></View>');
this.hcollListItem = hList.getItems(camlQueryHR);
// end of caml for list view
//this.ncollListItem = nList.getItems("");
hclientContext.load(hcollListItem);
hclientContext.executeQueryAsync(
Function.createDelegate(this, this.onQuerySucceeded),
Function.createDelegate(this, this.onQueryFailed)
);
}
var hclientContext=new SP.ClientContext.get_current();
var hList=hclientContext.get_web().get_list().getByTitle('HRReportsList');
//基于视图获取列表的新caml
var camlQueryHR=新SP.CamlQuery();
camlQueryHR.set_viewXml(“”;
控制台中的错误为:“无法获取未定义或空引用的属性‘get_url’”


毫不奇怪,我只是不知道如何让它工作,因为我知道我需要允许某些超链接为空。

在这两个超链接字段中添加检查,确保它们不为空,如下所示:

while (listItemEnumerator.moveNext()) 
{
        var hListItem = listItemEnumerator.get_current();

        if(hListItem.get_item("ReportLink") && hListItem.get_item("InfographicLink"))
        {
            listItemInfo +=  hListItem.get_item('InfographicLink').get_description() + '</a></br></br>' +
         '<a href="' + hListItem.get_item('ReportLink').get_url() + '" target="_blank">' +
           hListItem.get_item('ReportLink').get_description() + '</a></div>';
        }
}
while(listItemEnumerator.moveNext())
{
var hListItem=listItemEnumerator.get_current();
if(hListItem.get_项(“ReportLink”)&hListItem.get_项(“InfographicLink”))
{
listItemInfo+=hListItem.get_项目('InfographicLink')。get_描述()+'

'+ ''; } }
这里有一个类似的问题供您参考:


很抱歉回复太晚,我感谢您的耐心。此解决方案非常有效,谢谢。
while (listItemEnumerator.moveNext()) 
{
        var hListItem = listItemEnumerator.get_current();

        if(hListItem.get_item("ReportLink") && hListItem.get_item("InfographicLink"))
        {
            listItemInfo +=  hListItem.get_item('InfographicLink').get_description() + '</a></br></br>' +
         '<a href="' + hListItem.get_item('ReportLink').get_url() + '" target="_blank">' +
           hListItem.get_item('ReportLink').get_description() + '</a></div>';
        }
}