Compartir a través de


Procedimiento para implementar el modelo de objetos en un elemento web personalizado

Puede crear componentes web personalizados para trabajar con los datos de sitios o listas. Esta tarea de programación muestra cómo crear un elemento web simple que muestre los títulos y los números de elementos de todas las listas que contengan más de 10 elementos en subsitios en el sitio web actual.

Para crear un elemento web que muestre los títulos y la cantidad de elementos de las listas

  1. Cree un elemento web tal como se describe en Tutorial: creación de un elemento web básico de SharePoint. Este ejemplo presupone que se ha creado una aplicación SimpleWebPart.

  2. Abra WebCustomControl1.cs o WebCustomControl1.vb para la aplicación SimpleWebPart y agregue directivas para Microsoft.SharePoint y Microsoft.SharePoint.Utilities, de la siguiente manera:

    Imports Microsoft.SharePoint
    Imports Microsoft.SharePoint.Utilities
    
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.Utilities;
    
  3. Quite los objetos HtmlControl usados en el ejemplo, incluso las declaraciones para sus variables, el controlador _mybutton_click y el método CreateChildControls.

  4. Reemplace el contenido del método RenderWebPart con el bloque de código siguiente.

    Dim mySite As SPWeb = SPContext.Current.Web
    
    output.Write(SPEncode.HtmlEncode(mySite.Title))
    
    Dim subSites As SPWebCollection = mySite.Webs
    Dim site As SPWeb
    
    For Each site In subSites
        output.Write(SPEncode.HtmlEncode(site.Title) & "<BR>")
        Dim lists As SPListCollection = site.Lists
        Dim list As SPList
    
        For Each list In lists
    
            If list.ItemCount > 10 Then
                output.Write(SPEncode.HtmlEncode(list.Title) & " :: " 
                    & list.ItemCount & "<BR>")
            End If
        Next list
    Next site
    
    SPWeb mySite = SPContext.Current.Web;
    
    output.Write(SPEncode.HtmlEncode(mySite.Title));
    
    SPWebCollection subSites = mySite.Webs;
    
    foreach(SPWeb site in subSites)
    {
    
       output.Write(SPEncode.HtmlEncode(site.Title) + "<BR>");
    
       SPListCollection lists=site.Lists;
    
       foreach(SPList list in lists)
       {
    
          if (list.ItemCount>10) 
          {
              output.Write(SPEncode.HtmlEncode(list.Title) + " : " + 
                 list.ItemCount + "<BR>");
          }
       }
    }
    

    En el ejemplo se escribe en primer lugar el título del sitio web actual. A continuación, se repite en todos los subsitios para imprimir sus títulos y en todas las listas de cada subsitio para imprimir el título de la lista y la cantidad de elementos para casos en los que haya más de diez elementos en una lista.

  5. En el menú Generar, haga clic en Generar solución.

  6. Para aumentar el nivel de confianza en Windows SharePoint Services de mínimo (predeterminado) a medio, abra el archivo web.config en \\Inetpub\wwwroot\wss\VirtualDirectories\80 y reemplace la siguiente línea:

    <trust level="WSS_Minimal" originUrl="" />
    

    por lo siguiente:

    <trust level="WSS_Medium" originUrl="" />
    
  7. Restablezca Microsoft Internet Information Services (IIS) para hacer que los cambios en el nivel de confianza surtan efecto.

El elemento web puede importarse a través de la interfaz de usuario en una página de elementos web o en la página principal para ver los datos de la lista.

Vea también

Otros recursos

Trabajar con objetos de listas y colecciones
Introducción a la personalización mediante programación de un sitio web de SharePoint en Visual Studio
Validación de seguridad y realización de envíos para actualizar datos
Concesión de privilegio