我创建了自定义功能区按钮,我想检查评级设置是否启用。 如果评级设置为启用,则启用功能区按钮,否则禁用功能区按钮。
这是获取当前列表的代码,但我没有看到任何检查评分设置的功能:
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
}
答案 0 :(得分:0)
我认为您无法从客户端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;
}