标签: csom

'这个'在chrome中未定义,但在IE中有效

下面,该功能适用​​于IE,这是好的,但我需要它在Chrome,FireFox等工作...在Chrome中我得到一个错误...继承我的代码

function loadList(list_name) {
    var oList = context.get_web().get_lists().getByTitle(list_name);
    var camlQuery = new SP.CamlQuery();
    camlQuery.set_viewXml('<View><Query><Where><Geq><FieldRef Name=\'ID\'/>' + '<Value Type=\'Number\'>1</Value></Geq></Where></Query><RowLimit>10</RowLimit></View>');
    this.collListItem = oList.getItems(camlQuery);
Run Code Online (Sandbox Code Playgroud)

...它在Chrome中说.."未捕获的TypeError:无法设置未定义的属性'collListItem'..

我假设这是来自"这个"..铬如何处理'这'并且处理'这'是有区别的吗?

我该怎么办?谢谢!

javascript sharepoint sharepoint-2013 csom

3
推荐指数
1
解决办法
940
查看次数

Sharepoint字段尚未在C#中初始化

我正在编写一个代码,它将遍历sharepoint列表中的每个列表项并查找空字段.如果找到空字段,则通过电子邮件通知负责列表项的人员.

我在该行得到一个错误val = oListItem[field.Title];其中规定

属性或字段尚未初始化.尚未请求或请求尚未执行.可能需要明确请求.

在我看来,我已经在该行之前初始化了所有内容.

static void Main()
{
    ClientContext context    = new ClientContext("https://****");
    context.Credentials      = new NetworkCredential("****", "****");
    List oList               = context.Web.Lists.GetByTitle("TestBI");
    FieldCollection fieldcol = oList.Fields;

    context.Load(oList);
    context.Load(fieldcol);
    context.ExecuteQuery();

    ListItem oListItem = oList.GetItemById(1);
    object val = null;

    for (int i = 1; i <= 4; i++)
    {
        oListItem = oList.GetItemById(i);
        foreach (Field field in fieldcol)
        {
            val = oListItem[field.Title];
            if(val == null)
            {
                //Send e-mail
            }
        }
    }
    context.ExecuteQuery();
}
Run Code Online (Sandbox Code Playgroud)

c# sharepoint field list csom

3
推荐指数
1
解决办法
2万
查看次数

sharepoint 2013更改了CSOM中的现有发布页面布局

我需要使用CSOM来更改发布网络中现有发布页面的页面布局.我看到有CSOM对象PublishingWeb,但缺少获取发布页面的方法.

sharepoint csom

3
推荐指数
1
解决办法
7052
查看次数

设置欢迎页面 - Office365 CSOM和C#

我想在C#中使用CSOM为我的Sharepoint站点设置欢迎页面.

基本上我正在做的是将我的新欢迎页面(home.aspx)上传到网站页面或页面,然后我想更改欢迎页面以匹配我新上传的页面位置.

我环顾四周,但我看到的很多东西都是PowerShell或服务器端代码.

如果有人能指出我正确的方向,我会非常感激.

c# sharepoint csom

3
推荐指数
1
解决办法
4414
查看次数

SharePoint 2013 ClientContext:如何通过MULTIPLE CONDITION过滤器删除特定列表项?

通过使用SP.ClientContext从Javascript结束,下面是我用来"更新"列表项的代码.只是:

    var clientContext = new SP.ClientContext( siteURL );
    spList = clientContext.get_web().get_lists().getByTitle( myListName );

    this.spList_ExistingItem = spList.getItemById( itemID );
    spList_ExistingItem.set_item( 'FullName', myFullName );
    spList_ExistingItem.set_item( 'Age', myAge );

    spList_ExistingItem.update();
    clientContext.executeQueryAsync(succeeded_handler, fail_handler);
Run Code Online (Sandbox Code Playgroud)

这允许我通过一个条件查询update列表项,这是:getItemById(itemID)这里.

现在,让我们说,我要删除的项目:

  • 年龄= 30岁
  • 国家=美国

那么我如何使用多个条件进行此类查询.然后甚至要删除吗?


更新


根据下面的答案,我发现与CSOM相比,REST API更容易和更清晰地用于Client/Javascript端.(那么,当然我已经将所有代码都改为REST API方式了.)

所以结论是,我建议使用REST API而不是CSOM(SP.ClientContext).

谢谢!:)

javascript rest sharepoint sharepoint-2013 csom

3
推荐指数
1
解决办法
1万
查看次数

使用 CSOM 或 REST API 同时从 4 个列表中检索数据的性能会更好。?

我正在开发Sharepoint 托管应用程序,在某些情况下,我需要同时从 4 个列表中获取数据,然后再使用它。我可以使用CSOM做到这一点。但在性能方面,CSOMREST API哪个更好。如果 rest API 是更好的方法,那么我该怎么做。?

rest performance sharepoint csom office365-apps

3
推荐指数
1
解决办法
7359
查看次数

通过 CSOM 记录版本历史

我目前正在尝试通过 CSOM 提取 SharePoint 2010 网站集的文档历史记录。

我用来完成此操作的代码在这里:

using (var clientContext = new ClientContext("http://localhost/sites/mysite"))
{
    File file = clientContext.Web.GetFileByServerRelativeUrl(url);
                clientContext.Load(file, f => f.ListItemAllFields);
                clientContext.ExecuteQuery();
}
Run Code Online (Sandbox Code Playgroud)

每当我运行此代码时,它都会抛出一个异常,说明:

用户代码未处理服务器异常

值不在预期范围内

请注意:

  • 版本历史记录已打开
  • 将 f.ListItemAllFields 更改为 f.Versions 也不能修复它。

c# sharepoint sharepoint-2010 csom

2
推荐指数
1
解决办法
7110
查看次数

从上传的文件中获取 ID 到 Sharepoint 2013 DocumentLibrary

我有这个功能,可以将文件上传到 Sharepoint 2013 文档库。我希望能够检索文档库条目的新创建的 ID。

 public void UploadFileToSharePoint(string file)
    {
        ClientContext context = new ClientContext("http://test-sp01");
        Web web = context.Web;

        FileCreationInformation newFile = new FileCreationInformation();
        newFile.Content = System.IO.File.ReadAllBytes(file);
        newFile.Url = System.IO.Path.GetFileName(file);

        List docs = web.Lists.GetByTitle("TestDocumentLibrary");
        Microsoft.SharePoint.Client.File uploadFile = docs.RootFolder.Files.Add(newFile);

        context.Load(uploadFile);

        context.ExecuteQuery();
    }
Run Code Online (Sandbox Code Playgroud)

sharepoint csom

2
推荐指数
1
解决办法
6873
查看次数

确定输入的值是用户还是组 - 客户端对象模型

我正在尝试使用 SharePoint Online 的客户端对象模型和应用程序。我可以使用 FieldUserValue 对象从人员和组字段中检索信息,但是,如何从中确定输入的值只是用户还是 SharePoint 组?

据我所知, FieldUserValue 只有一个 LookupId 和 LookupValue 作为它的属性,它没有指定它是否是一个组。我是否在这方面走错了路,是否有更好的方法来查询该字段并检查该值是否是 SharePoint 组的用户?

谢谢

sharepoint csom sharepoint-apps sharepoint-online

2
推荐指数
1
解决办法
2593
查看次数

SharePoint CSOM:如何使用 ValidateUpdateListItem 更新个人或组字段?

我正在使用客户端对象模型的 ValidateUpdateListItem 方法更新 SharePoint 列表项,以防止创建新的项版本。这基本上适用于除人员或组字段类型之外的所有字段。有谁知道用作 ListItemFormUpdateValue 对象的 FieldValue 的用户或组值的正确字符串表示是什么?我已经尝试了所有对我来说似乎合理的东西(来自用户信息的用户 ID、登录名、查找值,如这些数据的组合等),但没有任何成功。

sharepoint updates splistitem spuserfield csom

2
推荐指数
1
解决办法
2万
查看次数