Как начать с создания пользовательской веб-части в Visual Studio, собирая данные из списков на разных сайтах?

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/94446

Вопрос

Прежде всего, я хотел бы сказать, что я очень новый, работаю с Visual Studio 2013 и с C #, а также с C #

Я хочу сделать определенную веб-часть в Visual Studio 2013 для испытательной среды SharePoint 2013. Веб-часть необходимо для получения элементов списка из разных списков объявлений, эти списки объявлений могут быть на разных сайтах. в основном мне нужно иметь возможность показать содержимое всех этих списков объявлений в один пользовательский список.

Вот пример сценария:

Subsite A: has a list named "List X"
Subsite B: has a list named "List Y"
Subsite C: has a custom web part that shows items from "List X" and "List Y"
.

Поэтому я хочу сделать пользовательскую веб-часть в Visual Studio, которая будет размещена на Subsite C, которая покажет товары из других списков, расположенных на других субтом.

Я могу развернуть в нашу тестовую среду, и я могу добавить пользовательскую веб-часть на страницу, чтобы я получил это для меня, что приятно, но мне просто нужен маленький толчок.

Некоторые предложения о том, что мне может потребоваться (от набора инструментов) или как я могу получить данные из этих списков SharePoint (предложения, ссылки, что угодно), что все будет очень добро пожаловать.

Ваша помощь и время очень ценится!

Это было полезно?

Решение

You can use SPSiteDataQuery for getting List data from multiple sub sites of same site collection.

Below is the basic code to start with ,bywhich you can use to get all announcement list items from the different sub sites:

using (SPSite oSPsite = new SPSite(SPContext.Current.Web.Url))
        {
            using (SPWeb oSPWeb = oSPsite.OpenWeb())
            {
                // Fetch using SPSiteDataQuery
                SPSiteDataQuery query = new SPSiteDataQuery();
                query.Lists = "<Lists ServerTemplate=\"104\" />";//104=List template ID for "Anouncements"
                query.ViewFields = "<FieldRef Name=\"Title\" />";//Add other fields which you want to get.
                query.Query = "";//you can add your caml query if you want to filter the list items returned
                query.Webs = "<Webs Scope=\"SiteCollection\" />";//Scope is set to site collection to get data from all anouncement lists in that site collection.
                DataTable dataTable = oSPWeb.GetSiteData(query);
            }
        }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top