Control.RenderingCompatibility Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene un valor que especifica la versión de ASP.NET con la que se representará HTML.
public:
virtual property Version ^ RenderingCompatibility { Version ^ get(); void set(Version ^ value); };
[System.ComponentModel.Bindable(false)]
[System.ComponentModel.Browsable(false)]
public virtual Version RenderingCompatibility { get; set; }
[<System.ComponentModel.Bindable(false)>]
[<System.ComponentModel.Browsable(false)>]
member this.RenderingCompatibility : Version with get, set
Public Overridable Property RenderingCompatibility As Version
Valor de propiedad
La versión de ASP.NET con la que se ha representado HTML será compatible.
- Atributos
Comentarios
ASP.NET establece esta propiedad en el valor del controlRenderingCompatibilityVersion atributo del pages elemento del archivo Web.config. Si el controlRenderingCompatibilityVersion atributo no se establece en el archivo Web.config, el valor predeterminado es la versión actual de ASP.NET.
Precaución
Hay un descriptor de acceso de conjunto público para esta propiedad, pero el descriptor de acceso set admite la infraestructura de .NET Framework y no está pensado para usarse directamente desde el código. Si establece este valor en el código, el efecto es impredecible.
Cada versión de ASP.NET podría representar HTML de forma diferente a las versiones anteriores. Por ejemplo, en ASP.NET 3.5, si la IsEnabled propiedad de un Label control es false, de forma predeterminada, ASP.NET representa un span elemento cuyo disabled atributo está establecido en "disabled". En ASP.NET 4, de forma predeterminada, el span elemento se representa con un atributo de hoja de estilos en cascada (CSS) class en lugar del disabled atributo . Esto le permite especificar la apariencia deshabilitada del control y evitar la representación de HTML no válido. (En HTML 4.0 y XHTML 1.1, el span elemento no admite el disabled atributo ).
Una aplicación web podría incluir código que no funcionaría correctamente si cambia la representación HTML. Para evitar este problema, puede establecer el atributo del pages elemento en el archivo Web.config para indicar con controlRenderingCompatibilityVersion qué versión anterior desea mantener la compatibilidad. Por ejemplo, si establece la RenderingCompatibility propiedad 3.5en , un control deshabilitado Label representará un disabled atributo y no una clase CSS.
Nota:
La versión más antigua en la que puede establecer esta propiedad es 3.5.
Para mantener la compatibilidad con versiones anteriores, cuando se usa Visual Studio para actualizar un proyecto web a ASP.NET 4 desde una versión anterior, Visual Studio establece automáticamente el controlRenderingCompatibilityVersion atributo en el archivo 3.5Web.config en . Si desea que un sitio web actualizado represente HTML mediante el algoritmo que se introdujo en ASP.NET 4, puede cambiar o quitar el controlRenderingCompatibilityVersion atributo.
La mayoría de las veces, el comportamiento controlado por esta propiedad es automático y no es necesario comprobar la propiedad en el RenderingCompatibility código. Sin embargo, si va a programar un control personalizado, es posible que tenga que incluir código que modifique el comportamiento del control en función de la configuración de esta propiedad. Por ejemplo, un control personalizado para ASP.NET 4 podría estar compuesto de Label controles y el control personalizado podría especificar la apariencia deshabilitada del control mediante la generación de código JavaScript que modifica la aspNetDisabled clase. Esto funcionará según lo previsto si RenderingCompatibility es 4.0 o posterior. Pero para obtener el mismo efecto cuando RenderingCompatibility es 3.5, el código del control personalizado debe establecer la propiedad del CssClass control en "aspNetDisabled" cuando la IsEnabled propiedad es false.