我有以下Sharepoint問題:我創建了一個Ribbon Button,它表示「只讀」。當我在列表中,並檢查一些項目時,我想將這些項目設置爲只讀。 功能區按鈕效果很好,當我正在做警報或某事時,我會得到答案。所以這不是問題。我做了以下幾點:Sharepoint中列表項的只讀按鈕
var listitem;
var roleAssgn;
var Assgn;
var selectedItems;
function readonly() {
selectedItems = SP.ListOperation.Selection.getSelectedItems();
var currentListGuid = SP.ListOperation.Selection.getSelectedList();
var context = SP.ClientContext.get_current();
var currentWeb = context.get_web();
var currentList = currentWeb.get_lists().getById(currentListGuid);
for (k in selectedItems) {
listitem = currentList.getItemById(selectedItems[k].id);
context.load(listitem, 'RoleAssignments');
context.executeQueryAsync(Function.createDelegate(this, this.readonlyPerItem), Function.createDelegate(this, this.failed));
}
}
function readonlyPerItem(sender, args) {
var k;
var Assgn;
var r;
context = SP.ClientContext.get_current();
roleAssgn = listitem.get_roleAssignments();
for(r in roleAssgn){
Assgn = roleAssgn[r];
alert("1");
context.load(Assgn, 'RoleDefinitionBindings');
alert("2");
context.executeQueryAsync(Function.createDelegate(this, this.readonlyPerRoleA), Function.createDelegate(this, this.failed));
}
}
function readonlyPerRoleA(sender, args) {
var bindings = Assgn.get_roleDefinitionBindings();
var member = Assgn.get_member();
}
function failed(sender, args) {
alert("FAIL");
}
這很好,直到它得到警報。 Alert-1正在工作,但不是Alert-2。調試器說:該對象不支持屬性「get_ $ h」。 而在sp_runtime.js出現這種情況有:
SP.DataRetrievalWithExpressionString $ 1Q_0(a.get_ $ H(),d)
我真的發現了問題所在。這是一個錯誤還是僅僅是不可能?