¿Cómo comenzar con hacer una parte web personalizada en Visual Studio, recopilando datos de listas en diferentes sitios?

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

Pregunta

En primer lugar, me gustaría decir que soy muy nuevo en el trabajo con Visual Studio 2013 y con C # también.

Quiero hacer una parte web determinada en Visual Studio 2013 para un entorno de prueba de SharePoint 2013. La parte web necesita para buscar elementos de la lista de diferentes listas de anuncios, estas listas de anuncios pueden estar en diferentes sitios. Básicamente, necesito poder mostrar el contenido de todas las listas de anuncios en una lista personalizada.

Aquí hay un ejemplo del escenario:

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"

Así que quiero hacer una parte web personalizada en Visual Studio que se colocará en Subsite C, que mostrará elementos de otras listas ubicadas en otros subsitios.

Puedo implementar en nuestro entorno de prueba y puedo agregar una parte web personalizada a una página, así que me puse que me va, lo que es bueno, pero solo necesito un poco de empuje.
Algunas sugerencias sobre lo que podría necesitar (de la caja de herramientas tal vez) o cómo puedo obtener datos de esas listas de SharePoint (sugerencias, enlaces, cualquier cosa), que todos serían muy bienvenidos.

¡Su ayuda y tiempo son muy apreciadas!

¿Fue útil?

Solución

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);
            }
        }
Licenciado bajo: CC-BY-SA con atribución
scroll top