Приемник событий для предотвращения добавления элементов через объектную модель / веб-службы или пользовательский интерфейс.
Одним из решений будет использование приемника событий и, если документ добавляется в корневую папку, просто отмените добавление документа, но это приведет к переходу пользователя на страницу ошибки. Это решение не удобно для пользователя.
Просто скрыть возможность добавления новых предметов
Другой способ - использовать JavaScript, чтобы скрыть новый документ кнопки и загрузить кнопки документа. Это просто, когда вы интегрируете SharePoint с jQuery .
Скрыть новую кнопку
var newMenu = $('a[id$=NewMenu]').parents('.ms-toolbar') //Hides New button
if (newMenu[0] && newMenu[0].nextElementSibling.className == 'ms-separator')
newMenu[0].nextElementSibling.style["display"] = "block" //Hides seperator between new button and next button.
Но вам, вероятно, не хотелось бы полностью скрывать новую кнопку, а оставить параметр создания новой папки.
$('ie\\:menuitem[id*=New]').not('[id$=NewFolder]').remove()
Скрыть меню загрузки
var uploadMenu= $('a[id$=UploadMenu]').parents('.ms-toolbar') //Hides New button
if (newMenu[0] && newMenu[0].nextElementSibling.className == 'ms-separator')
uploadMenu[0].nextElementSibling.style["display"] = "block" //Hides seperator between new button and next button.
Ааа, забыл (а) самое важное: проверьте, находитесь ли вы в RootDirectory.
var rootFolder = $.url.decode(getParameterByName("RootFolder"))
if (rootFolder && ctx && rootFolder.replace($.url.decode(ctx.listUrlDir+"/"),"").length == 0 ) {
..Do code above..
}