Comment commencer par faire une partie Web personnalisée dans Visual Studio, collecter des données à partir de listes sur différents sites?

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

Question

Tout d'abord, j'aimerais dire que je suis très nouveau au travail avec Visual Studio 2013 et avec C # aussi.

Je veux faire un certain rôle dans Visual Studio 2013 pour un environnement de test SharePoint 2013. La partie Web doit récupérer des éléments de liste dans différentes listes d'annonces, ces listes d'annonce peuvent être sur différents sites. Il faut fondamentalement montrer le contenu de toutes ces listes d'annonces dans une liste personnalisée.

Voici un exemple du scénario:

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"

Donc, je souhaite créer une partie Web personnalisée dans Visual Studio qui sera placée sur Subsite C, qui affichera des éléments d'autres listes situées sur d'autres sous-éléments.

Je peux déployer dans notre environnement de test et je peux ajouter une partie Web personnalisée à une page, donc je l'ai eu pour moi, ce qui est gentil, mais j'ai juste besoin d'une petite poussée.
Certaines suggestions sur ce dont je pourrais avoir besoin (de la boîte à outils peut-être) ou sur la manière dont je peux obtenir des données de ces listes SharePoint (suggestions, liens, quoi que ce soit), qui seraient tous les bienvenus.

Votre aide et votre temps sont grandement appréciés!

Était-ce utile?

La solution

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);
            }
        }
Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top