下面,该功能适用于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'..
我假设这是来自"这个"..铬如何处理'这'并且处理'这'是有区别的吗?
我该怎么办?谢谢!
我正在编写一个代码,它将遍历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) 我需要使用CSOM来更改发布网络中现有发布页面的页面布局.我看到有CSOM对象PublishingWeb,但缺少获取发布页面的方法.
我想在C#中使用CSOM为我的Sharepoint站点设置欢迎页面.
基本上我正在做的是将我的新欢迎页面(home.aspx)上传到网站页面或页面,然后我想更改欢迎页面以匹配我新上传的页面位置.
我环顾四周,但我看到的很多东西都是PowerShell或服务器端代码.
如果有人能指出我正确的方向,我会非常感激.
通过使用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)
这里.
现在,让我们说,我要删除的项目是:
那么我如何使用多个条件进行此类查询.然后甚至要删除吗?
根据下面的答案,我发现与CSOM相比,REST API更容易和更清晰地用于Client/Javascript端.(那么,当然我已经将所有代码都改为REST API方式了.)
所以结论是,我建议使用REST API而不是CSOM(SP.ClientContext).
谢谢!:)
我正在开发Sharepoint 托管应用程序,在某些情况下,我需要同时从 4 个列表中获取数据,然后再使用它。我可以使用CSOM做到这一点。但在性能方面,CSOM或REST API哪个更好。如果 rest API 是更好的方法,那么我该怎么做。?
我目前正在尝试通过 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)
每当我运行此代码时,它都会抛出一个异常,说明:
用户代码未处理服务器异常
值不在预期范围内
请注意:
我有这个功能,可以将文件上传到 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 Online 的客户端对象模型和应用程序。我可以使用 FieldUserValue 对象从人员和组字段中检索信息,但是,如何从中确定输入的值只是用户还是 SharePoint 组?
据我所知, FieldUserValue 只有一个 LookupId 和 LookupValue 作为它的属性,它没有指定它是否是一个组。我是否在这方面走错了路,是否有更好的方法来查询该字段并检查该值是否是 SharePoint 组的用户?
谢谢
我正在使用客户端对象模型的 ValidateUpdateListItem 方法更新 SharePoint 列表项,以防止创建新的项版本。这基本上适用于除人员或组字段类型之外的所有字段。有谁知道用作 ListItemFormUpdateValue 对象的 FieldValue 的用户或组值的正确字符串表示是什么?我已经尝试了所有对我来说似乎合理的东西(来自用户信息的用户 ID、登录名、查找值,如这些数据的组合等),但没有任何成功。
csom ×10
sharepoint ×10
c# ×3
javascript ×2
rest ×2
field ×1
list ×1
performance ×1
splistitem ×1
spuserfield ×1
updates ×1