de la propiedad SPContentTypeUsage.Url
Obtiene el localizador uniforme de recursos (URL) para el tipo de contenido.
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
Public ReadOnly Property Url As String
Get
'Uso
Dim instance As SPContentTypeUsage
Dim value As String
value = instance.Url
public string Url { get; }
Valor de propiedad
Tipo: System.String
Una dirección URL relativa al servidor.
Comentarios
Para los tipos de contenido de sitio, la propiedad devuelve una dirección de URL relativa al servidor para el sitio Web. Para los tipos de contenido de lista, la propiedad Url devuelve una dirección de URL relativa al servidor de la carpeta raíz de la lista.
Ejemplos
El ejemplo siguiente muestra una aplicación de consola que obtiene la colección de uso para el tipo de contenido integrada Item. La aplicación usa la propiedad Url de cada objeto SPContentTypeUsage en la colección para determinar el nombre de la instancia del tipo de contenido primario. A continuación, la aplicación imprime el nombre de la instancia, el ámbito (sitio o lista de la instancia) y el valor de la propiedad Url a la consola.
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();
}
}
}
Cuando la aplicación se ejecuta en una colección de sitios con un sitio Web raíz y el sitio de un elemento secundario, se imprime el siguiente resultado (parcial) en la consola.
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
Vea también
Referencia
Espacio de nombres Microsoft.SharePoint