Come iniziare a creare una web part personalizzata in Visual Studio, raccogliendo i dati dagli elenchi in diversi siti?

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

Domanda

Prima di tutto vorrei dire che sono molto nuovo a lavorare con Visual Studio 2013 e con C # pure.

Voglio creare una certa web parte in Visual Studio 2013 per un ambiente di test di SharePoint 2013. La web part deve recuperare gli elementi dell'elenco da diversi elenchi di annunci, questi elenchi di annunci possono essere su diversi siti. Fondamentalmente devo essere in grado di mostrare il contenuto di tutti gli elenchi di annuncio in un elenco di annunci.

Ecco un esempio dello scenario:

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"
.

Quindi voglio creare una web part personalizzata in Visual Studio che verrà inserito su Subset C, che mostrerà articoli da altri elenchi situati su altri sottosezioni.

Posso distribuire il nostro ambiente di test e posso aggiungere una web part personalizzata a una pagina, quindi ho capito che è andato per me che è bello, ma ho solo bisogno di una piccola spinta.
Alcuni suggerimenti su ciò di cui potrei aver bisogno (dalla cassetta degli strumenti Forse) o come posso ottenere dati da quegli elenchi di SharePoint (suggerimenti, collegamenti, qualsiasi cosa), che sarebbero tutti i benvenuti.

Il tuo aiuto e il tuo tempo sono molto apprezzati!

È stato utile?

Soluzione

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);
            }
        }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top