none
obtener el nombre del sitio según el Guid RRS feed

  • Pregunta

  • Hola a todos, actualmente estoy obteniendo la lista de los sitios de mi webApplication así el cual funciona correctamente:

      public List<SitiosBE> ListarSitios()
            {        
                List<SitiosBE> items = new List<SitiosBE>();
                SPSite oSiteCollection = SPContext.Current.Site;
                SPWebCollection collWebsite = oSiteCollection.AllWebs;
                for (int i = 0; i < collWebsite.Count; i++)
                {
                            SitiosBE itemSitio = new SitiosBE();
                            itemSitio.Id = collWebsite[i].ID;
                            itemSitio.Nombre = collWebsite[i].Title;
                            items.Add(itemSitio);
                }
                return items;
            }

    Pero ahora estoy tratando de obtener con Linq el nombre del sitio según el guid que le envió, así:

     public string obtenerSitioNombre(string IdSitio)
            {
                string Nombre = string.Empty;          
                SPSite oSiteCollection = SPContext.Current.Site;
                var Sitio = from SPWebCollection collWebsite in oSiteCollection.AllWebs
                            where collWebsite["ID"].ToString().Trim() == IdSitio
                            select collWebsite["Title"].ToString();
                Nombre = Sitio.FirstOrDefault();
    
                return Nombre;
            }

    Pero me genera el siguiente error:

    No se puede convertir un objeto de tipo 'Microsoft.SharePoint.SPWeb' al tipo 'Microsoft.SharePoint.SPWebCollection.

    Cómo corregir mi consulta en Linq?

    Gracias por la colaboración.

    Saludos


    sandra

    martes, 16 de octubre de 2012 3:25

Respuestas

  • Hola,

    En la expresión de LINQ, collWebsite es de tipo SPWeb y no SPWebCollection. Haciendo este cambio debería funcionar. Además, en la expresión en vez de utilizar un indexador para acceder a la propiedades ID y Title lo podrías hacer directamente.

    Saludos

    martes, 16 de octubre de 2012 5:32

Todas las respuestas