【问题标题】:How to Check Rating Settings is enabled or not by Javascript in SharePoint 2010?如何检查 SharePoint 2010 中的 Javascript 是否启用了评级设置?
【发布时间】:2013-01-31 15:53:29
【问题描述】:

我创建了自定义功能区按钮,我想检查评级设置是否启用。 如果评级设置为启用,则启用功能区按钮,否则禁用功能区按钮。

这是获取当前列表的代码,但我没有看到任何检查评级设置的功能:

   var clientContext = new SP.ClientContext();
   var oWebsite = clientContext.get_web();
   var collList = oWebsite.get_lists();

   var listId = SP.ListOperation.Selection.getSelectedList();
   var sdlist = oWebsite.get_lists().getById(listId);

   clientContext.load(sdlist);

   function CheckRatingSettings(){
       var fields = sdlist.get_fields();
       //What next to check Ratting Setting, I can't find any function to get that
   }

【问题讨论】:

    标签: javascript sharepoint-2010 rating


    【解决方案1】:

    我认为您不能从客户端 API 查询。您最好的选择应该是实现一个 WCF 服务,在服务器上检查该服务,然后通过 javascript 查询该服务。

    查看CKS developer tools,他们有一个模板供 Visual Studio 在 Sharepoint 上创建 WCF 服务。

    另一个选项是检查列表中是否存在“AverageRating”字段,当您启用评分时,此字段会添加到列表中。请记住,该字段可能存在,但评级可能会被禁用。

    这未经测试(假设您的代码获得了正确的 listid,类似于以下内容:

    var fields = slList.get_fields();
    clientContext.load(fields );
    
    
    function CheckRatingSettings(fields){
           for (var i = 0; i < fields.length; i++) {
               if (fields[i].internalName == "AverageRating") {
                   return true;
               }
            }
            return false;
    }
    

    【讨论】:

    • 那是沙盒解决方案,所以它非常有限,只允许使用共享点的客户端 API
    • 那么我想您唯一的选择是使用客户端 API 检查该字段是否存在。您在编码方面需要帮助吗?
    • 一旦列表已经激活(和停用)评级设置,这将不起作用,因为该字段不会从列表中删除。关于如何在这种情况下做到这一点的任何想法?
    猜你喜欢
    • 2014-12-13
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 2014-07-26
    • 2016-12-05
    • 1970-01-01
    相关资源
    最近更新 更多