Compartilhar via


SPContentTypeUsage.Url property

Obtém o localizador de recursos uniforme (URL) para o tipo de conteúdo.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
Public ReadOnly Property Url As String
    Get
'Uso
Dim instance As SPContentTypeUsage
Dim value As String

value = instance.Url
public string Url { get; }

Property value

Type: System.String
Um URL relativo ao servidor.

Comentários

Para tipos de conteúdo do site, a propriedade retorna uma URL relativa ao servidor do site. Para tipos de conteúdo de lista, a propriedade Url retorna uma URL relativa do servidor para a pasta raiz da lista.

Examples

O exemplo a seguir mostra um aplicativo de console que obtém a coleção de uso para o tipo de conteúdo interno Item. O aplicativo usa a propriedade Url de cada objeto de SPContentTypeUsage na coleção para determinar o nome da instância do tipo de conteúdo pai. Em seguida, o aplicativo imprime o nome da instância, o escopo (site ou lista da instância) e o valor da propriedade Url para o console.

Imports System
Imports System.Collections.Generic
Imports Microsoft.SharePoint

Module ConsoleApp
   Sub Main()
      Using siteCollection As SPSite = New SPSite("https://localhost")
         Using webSite As SPWeb = siteCollection.RootWeb

            ' Get the content type.
            Dim contentType As SPContentType = _
               webSite.AvailableContentTypes(SPBuiltInContentTypeId.Item)

            ' Get the usage collection.
            Dim usages As IList(Of SPContentTypeUsage) = _
                                SPContentTypeUsage.GetUsages(contentType)

            For Each usage As SPContentTypeUsage In usages

               ' Get the name of this instance.
               Dim ctName As String = String.Empty

               If usage.IsUrlToList Then ' List content type
                  For Each web As SPWeb In siteCollection.AllWebs

                     For Each list As SPList In web.Lists
                        If list.RootFolder.ServerRelativeUrl = usage.Url Then
                           ctName = list.ContentTypes(usage.Id).Name
                           Exit For
                        End If
                     Next list

                     web.Dispose() ' Clean up

                     If ctName <> String.Empty Then
                        Exit For
                     End If

                  Next web

               Else ' Site content type.
                  Dim web As SPWeb = siteCollection.OpenWeb(usage.Url)
                  ctName = web.AvailableContentTypes(usage.Id).Name
                  web.Dispose()
               End If

               Console.WriteLine(vbCrLf + "Content type name: {0}", ctName)
               Console.WriteLine("This is a {0} content type", _
                                 IIf(usage.IsUrlToList, "list", "site"))
               Console.WriteLine("URL: {0}", usage.Url)

            Next usage

         End Using
      End Using
      Console.Write(vbCrLf + "Press ENTER to continue...")
      Console.ReadLine()
   End Sub

End Module
using System;
using System.Collections.Generic;
using Microsoft.SharePoint;

namespace Test
{
   class ConsoleApp
   {
      static void Main(string[] args)
      {
         using (SPSite siteCollection = new SPSite("https://localhost"))
         {
            using (SPWeb rootWeb = siteCollection.RootWeb)
            {
               // Get the content type.
               SPContentType contentType =
                  rootWeb.AvailableContentTypes[SPBuiltInContentTypeId.Item];

               //Get the usage collection.
               IList<SPContentTypeUsage> usages = SPContentTypeUsage.GetUsages(contentType);

               foreach (SPContentTypeUsage usage in usages)
               {
                  // Get the name of the content type.
                  string ctName = String.Empty;

                  if (usage.IsUrlToList) // List content type
                  {
                     foreach (SPWeb web in siteCollection.AllWebs)
                     {
                        foreach (SPList list in web.Lists)
                        {
                           if (list.RootFolder.ServerRelativeUrl == usage.Url)
                           {
                              ctName = list.ContentTypes[usage.Id].Name;
                              break;
                           }
                        }

                        web.Dispose(); // Clean up

                        if (ctName != String.Empty)
                           break;
                     }
                  }
                  else // Site content type.
                  {
                     SPWeb web = siteCollection.OpenWeb(usage.Url);
                     ctName = web.AvailableContentTypes[usage.Id].Name;
                     web.Dispose();
                  }

                  Console.WriteLine("\nContent type name: {0}", ctName);
                  Console.WriteLine("This is a {0} content type.", 
                                    usage.IsUrlToList ? "list" : "site");
                  Console.WriteLine("URL: {0}", usage.Url);
               }
            }
         }
         Console.Write("\nPress ENTER to continue...");
         Console.ReadLine();
      }
   }
}

Quando o aplicativo é executado em relação a um conjunto de sites com um site raiz e um filho, ele imprime a seguinte saída (parcial) ao console.

Content type name: Task
This is a site content type.
URL: /

Content type name: Feature Points of Contact
This is a site content type.
URL: /Subsite

Content type name: Task
This is a list content type.
URL: /Lists/Tasks

Content type name: Feature Points of Contact
This is a list content type.
URL: /Subsite/Lists/Subsite List

Ver também

Referência

SPContentTypeUsage class

SPContentTypeUsage members

Microsoft.SharePoint namespace

Outros recursos

Introduction to Content Types

Site and List Content Types