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 o establece un valor que especifica la versión de ASP.NET compatible con los elementos HTML representados.
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
Versión de ASP.NET compatible con los elementos HTML representados.
- Atributos
Comentarios
ASP.NET establece esta propiedad en el valor del controlRenderingCompatibilityVersion
atributo del pages
elemento en el archivo Web.config. Si el controlRenderingCompatibilityVersion
atributo no está establecido 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 imprevisible.
Cada versión de ASP.NET podría representar HTML de forma diferente de 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 controlRenderingCompatibilityVersion
atributo del pages
elemento en el archivo Web.config para indicar con qué versión anterior desea mantener la compatibilidad. Por ejemplo, si establece la RenderingCompatibility propiedad 3.5
en , 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.5
Web.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 esperado 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
.