Я прошу прощения за то, насколько это грубо, но, надеюсь, это должно указать вам правильное направление. Я не уверен, хотите ли вы сделать это для всего семейства сайтов или для отдельных веб-сайтов, поэтому я сделал это для одной сети, но этот фрагмент можно расширить.
- Создание объектов SPSite и SPWeb.
- Я предполагаю, что этот список будет находиться на том же уровне, что и списки, на которые он ссылается. Создайте список с именем ViewsList на том же уровне сайта. Дайте ему столбцы Имя списка и Имя просмотра.
После настройки:
SPListCollection lists = web.Lists; //Get all lists in the site
SPList viewsList = web.Lists["ViewsList"]; //Get reference to the list ViewsList
foreach(SPList list in lists) //Iterate over all of the lists in the site
{
SPViewCollection views = list.Views; //Get all of the views associated with the current list
foreach(SPView view in views)
{
SPListItem newItem = viewsList.Items.Add(); //create item object to add to list.
newItem["List Name"] = list.Title; //populate columns
newItem["View Name"] = view.Title;
newItem.Update(); //add item to list
}
}