Как начать с создания пользовательской веб-части в Visual Studio, собирая данные из списков на разных сайтах?
-
10-12-2019 - |
Вопрос
Прежде всего, я хотел бы сказать, что я очень новый, работаю с 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);
}
}