Esta documentación está archivada y no tiene mantenimiento.

WebPartTransformerAttribute (Clase)

Identifica los tipos de puntos de conexión que admite un transformador.

Espacio de nombres: System.Web.UI.WebControls.WebParts
Ensamblado: System.Web (en system.web.dll)

[AttributeUsageAttribute(AttributeTargets.Class)] 
public sealed class WebPartTransformerAttribute : Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class) */ 
public final class WebPartTransformerAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Class) 
public final class WebPartTransformerAttribute extends Attribute
No aplicable.

Los transformadores se utilizan para convertir datos entre dos controles de elementos Web con puntos de conexión incompatibles. Los puntos de conexión son incompatibles cuando proporcionan o utilizan los datos a través de interfaces diferentes. Por ejemplo, un proveedor que implemente un punto de conexión del proveedor de tipo IWebPartRow no puede conectarse directamente a un consumidor que espere un punto de conexión del proveedor de tipo IWebPartTable. En su lugar, debe utilizarse un transformador para conectar los dos puntos de conexión. Se puede crear un transformador personalizado derivando una clase de la clase WebPartTransformer.

El atributo WebPartTransformerAttribute se aplica a una clase WebPartTransformer. Define el tipo de punto de conexión del proveedor y el tipo de punto de conexión del consumidor que admite un transformador. El tipo de punto de conexión del consumidor y proveedor admitido por el transformador debe coincidir con los puntos de conexión de los controles de elementos Web consumidor y proveedor para que se pueda establecer una conexión entre los controles. En tiempo de ejecución, el tipo de puntos de conexión que admite un determinado transformador se puede recuperar a través de los métodos GetConsumerType y GetProviderType.

El ejemplo de código siguiente muestra cómo se utiliza un atributo WebPartTransformerAttribute con una clase WebPartTransformer personalizada. El atributo indica que la clase RowToStringTransformer puede transformar un punto de conexión del proveedor de tipo IWebPartRow en un punto de conexión del consumidor de tipo IString.

Este ejemplo de código forma parte de un ejemplo más extenso que está disponible en la información general sobre la clase WebPartTransformer.

// A transformer that transforms a row to a string.
[AspNetHostingPermission(SecurityAction.Demand,
  Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
  Level = AspNetHostingPermissionLevel.Minimal)]
[WebPartTransformer(typeof(IWebPartRow), typeof(IString))]
public class RowToStringTransformer : WebPartTransformer, IString
{

    private IWebPartRow _provider;
    private StringCallback _callback;

    private void GetRowData(object rowData)
    {
        PropertyDescriptorCollection props = _provider.Schema;
        if (props != null && props.Count > 0 && rowData != null)
        {
            string returnValue = String.Empty;
            foreach (PropertyDescriptor prop in props)
            {
                if (prop != props[0])
                {
                    returnValue += ", ";
                }
                returnValue += prop.DisplayName + ": " + prop.GetValue(rowData);
            }
            _callback(returnValue);
        }
        else
        {
            _callback(null);
        }
    }
    
    public override object Transform(object providerData)
    {
        _provider = (IWebPartRow)providerData;
        return this;
    }

    void IString.GetStringValue(StringCallback callback)
    {
        if (callback == null)
        {
            throw new ArgumentNullException("callback");
        }

        if (_provider != null)
        {
            _callback = callback;
            _provider.GetRowData(new RowCallback(GetRowData));
        }
        else
        {
            callback(null);
        }
    }
}

  • AspNetHostingPermission  para trabajar en un entorno alojado en host. Valor de la petición: LinkDemand; valor del permiso: Minimal

System.Object
   System.Attribute
    System.Web.UI.WebControls.WebParts.WebPartTransformerAttribute

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar: