Personas que lo han encontrado útil: 1 de 3 - Valorar este tema

Control (Clase)

Define las propiedades, métodos y eventos que comparten todos los controles de servidor ASP.NET.

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

[BindableAttribute(true)] 
[ThemeableAttribute(false)] 
public class Control : IComponent, IDisposable, IParserAccessor, 
	IUrlResolutionService, IDataBindingsAccessor, IControlBuilderAccessor, IControlDesignerAccessor, IExpressionsAccessor
/** @attribute BindableAttribute(true) */ 
/** @attribute ThemeableAttribute(false) */ 
public class Control implements IComponent, IDisposable, 
	IParserAccessor, IUrlResolutionService, IDataBindingsAccessor, IControlBuilderAccessor, IControlDesignerAccessor, 
	IExpressionsAccessor
BindableAttribute(true) 
ThemeableAttribute(false) 
public class Control implements IComponent, IDisposable, 
	IParserAccessor, IUrlResolutionService, IDataBindingsAccessor, IControlBuilderAccessor, IControlDesignerAccessor, 
	IExpressionsAccessor
No aplicable.

Ésta es la clase principal de la que debe derivarse cuando se desarrollan controles de servidor ASP.NET personalizados. Control no tiene características específicas de interfaz de usuario. Si va a crear un control que no tiene una interfaz de usuario o que combina otros controles que generan sus propias interfaces de usuario, derive de Control. Si va a crear un control que no tiene una interfaz de usuario, derive de WebControl o del cualquier control del espacio de nombres System.Web.UI.WebControls que proporcione un punto inicial adecuado para el control personalizado.

La clase Control es la clase base para todos los controles de servidor ASP.NET, incluidos los controles personalizados, los controles de usuario y las páginas. Las páginas ASP.NET son instancias de la clase Page, que se hereda de la clase Control y controla las solicitudes de archivos con la extensión .aspx.

La clase Control se puede utilizar directa o indirectamente como parte de la interfaz de usuario para la aplicación Web, y como tal se debe estudiar para asegurar que se siguen las recomendaciones para escribir código seguro y proteger las aplicaciones. Para obtener información general sobre estos temas, vea Información general sobre las amenazas para la seguridad de las aplicaciones Web, Procedimientos recomendados para directivas de seguridad y Conceptos clave de seguridad. Para obtener información más concreta, vea Seguridad de controles estándar, Cómo: Mostrar mensajes de error seguros, Cómo: Proteger una aplicación Web frente a ataques mediante secuencias de comandos aplicando codificación HTML a las cadenas y Introducción a los controles de validación.

En el siguiente ejemplo se muestra un control de servidor personalizado que se deriva de la clase Control. La clase InnerContent reemplaza al método Control.Render, comprueba si la clase tiene controles secundarios en la página y determina si el primer secundario del control es un control literal. Si se cumplen ambas condiciones, el método reemplazado escribe la cadena HTML <H2>Mensaje:, el contenido del control literal y la etiqueta </H2> de cierre en la página de formularios Web Forms.

Nota de seguridadNota: de seguridad

Este ejemplo tiene un cuadro de texto que acepta datos del usuario, lo que puede suponer una amenaza para la seguridad. De forma predeterminada, las páginas Web ASP.NET validan que los datos proporcionados por el usuario no incluyen elementos HTML ni de secuencia de comandos. Para obtener más información, vea Información general sobre los ataques mediante secuencias de comandos.

using System;
using System.Web;
using System.Web.UI;

namespace SimpleControlSamples {

    public class InnerContent : Control {
	[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="Execution")] 
       protected override void Render(HtmlTextWriter output) {

           if ( (HasControls()) && (Controls[0] is LiteralControl) ) {
               output.Write("<H2>Your message : ");
               Controls[0].RenderControl(output);
               output.Write("</H2>");
           }
       }
    }    
}
   

package SimpleControlSamples; 

import System.*;
import System.Web.*;
import System.Web.UI.*; 
   
public class InnerContent extends Control
{
    /** @attribute System.Security.Permissions.PermissionSet(
        System.Security.Permissions.SecurityAction.Demand, Name = "Execution")
     */
    protected void Render(HtmlTextWriter output)
    {
        if (HasControls() && 
            get_Controls().get_Item(0) instanceof LiteralControl) {
            output.Write("<H2>Your message: ");
            get_Controls().get_Item(0).RenderControl(output);
            output.Write("</H2>");
        }
    } //Render
} //InnerContent

import System;
import System.Web;
import System.Web.UI;
import System.Security.Permissions;

package SimpleControlSamples {

    public class InnerContent extends Control {

       protected override function Render(output : HtmlTextWriter) {
	var securityperm : SecurityPermission;
         securityperm = new SecurityPermission(SecurityPermissionFlag.SerializationFormatter);
         securityperm.Demand();
           if ( (HasControls()) && (typeof(Controls[0]) == LiteralControl) ) {
              output.Write("<H2>Your Message: " + (LiteralControl(Controls[0])).Text + "</H2>");
           }
       }
    }    
}

  • AspNetHostingPermission  para su funcionamiento en un entorno alojado en host. Valor de petición: LinkDemand; valor de permiso: Minimal.
  • AspNetHostingPermission  para su funcionamiento en un entorno alojado en host. Valor de petición: InheritanceDemand; valor de permiso: Minimal.
System.Object
  System.Web.UI.Control
     Clases derivadas
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, 1.1, 1.0
¿Le ha resultado útil?
(Caracteres restantes: 1500)