用于访问页面属性的Javascript csom

用于访问页面属性的Javascript csom,javascript,sharepoint,sharepoint-2013,csom,Javascript,Sharepoint,Sharepoint 2013,Csom,我在SharePoint 2013内部部署的“网站页面”库中有一些wiki页面。我在库中创建了一个列“优先级”。我想从客户端访问页面属性。我知道通过以下代码可以从服务器端执行此操作: SPContext.Current.ListItem["FieldName"] 但是我想从客户端访问页面属性,可以吗?因为获取当前HTTP请求的上下文,并且SPContext.current.ListItem返回当前列表项,我假设您需要JSOM中的类似功能 在SharePoint中,可以在客户端的每个页面上使用结

我在SharePoint 2013内部部署的“网站页面”库中有一些wiki页面。我在库中创建了一个列“优先级”。我想从客户端访问页面属性。我知道通过以下代码可以从服务器端执行此操作:

SPContext.Current.ListItem["FieldName"]
但是我想从客户端访问页面属性,可以吗?

因为获取当前HTTP请求的上下文,并且
SPContext.current.ListItem
返回当前列表项,我假设您需要JSOM中的类似功能

在SharePoint中,可以在客户端的每个页面上使用结构
\u spPageContextInfo
,这些页面在某种程度上可以被视为类似于。特别是,将公开以下属性以标识当前列表项:

  • pageListId
    -获取当前列表的唯一Id
  • pageItemId
    -获取当前列表项Id
如何使用JSOM检索当前列表项 以下函数演示如何检索当前列表项:

function getCurrentListItem(success, error)
{
   var context = SP.ClientContext.get_current();
   var web = context.get_web(); 
   var currentList = web.get_lists().getById(_spPageContextInfo.pageListId); 
   var currentListItem = currentList.getItemById(_spPageContextInfo.pageItemId);
   context.load(currentListItem);
   context.executeQueryAsync(
     function(){
        success(currentListItem);
     }, 
     error
   );
}
用法


当页面未签出时,我无法执行此操作。有没有方法可以添加.CheckOut()并执行此操作?我正在尝试listItem.set_item(),它在页面签出时起作用
getCurrentListItem(
   function(listItem) {
       var priority = listItem.get_item('Priority'); 
       console.log(priority);
   },
   function(sender,args){
        console.log(args.get_message());    
   }
);