Добавьте этот код в обработчик веб-событий (ListAdded), чтобы запустить этот код автоматически. В этом коде вам нужно будет проверить, является ли тип списка дискуссией. В приемнике событий вам понадобится ссылка на SPWeb, в которую вы хотите добавить веб-часть, и в список, который хотите использовать (в этом примере список контактов). Затем вы создаете экземпляр класса ListViewWebPart, в котором вы можете установить ZoneID, ListName и ViewGuid. Это сложная часть, свойство ListName должно содержать идентификатор вашего списка (GUID), а не имя вашего списка! Но свойство ListName имеет строку типа, поэтому вам нужно преобразовать GUID List в строку с использованием .ToString («B»). ToUpper(). То же самое касается ViewGuid. Наконец, вам нужно получить ссылку на WebPartCollection для страницы, в которую вы хотите добавить веб-часть (в этом примере домашняя страница будет default.aspx). Теперь вы можете добавить веб-часть с помощью метода Add.
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebPartPages;
// Get a reference to a web and a list
SPSite site = new SPSite("http://localhost:8000");
SPWeb web = site.OpenWeb();
SPList list = web.Lists["Contacts"];
// Instantiate the web part
ListViewWebPart wp = new ListViewWebPart();
wp.ZoneID = "Left";
wp.ListName = list.ID.ToString("B").ToUpper();
wp.ViewGuid = list.DefaultView.ID.ToString("B").ToUpper();
// Get the web part collection
SPWebPartCollection coll =
web.GetWebPartCollection("default.aspx",
Storage.Shared);
// Add the web part
coll.Add(wp);