Control.RenderingCompatibility 属性

定义

获取一个值,该值指定呈现的 HTML 将与之兼容的 ASP.NET 版本。

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

属性值

呈现的 HTML 将与之兼容的 ASP.NET 版本。

属性

注解

ASP.NET 将此属性设置为 Web.config 文件中元素的 pages 属性的值controlRenderingCompatibilityVersioncontrolRenderingCompatibilityVersion如果未在 Web.config 文件中设置 特性,则默认值为当前版本的 ASP.NET。

注意

此属性有一个公共集访问器,但 set 访问器支持.NET Framework基础结构,不应直接从代码使用。 如果在代码中设置此值,则效果不可预知。

ASP.NET 的每个版本呈现的 HTML 可能与早期版本不同。 例如,在 ASP.NET 3.5 中,如果 IsEnabled 控件的 Label 属性为 false,则默认情况下,ASP.NET 呈现 span 属性设置为“disabled”的元素 disabled 。 在 ASP.NET 4 中,默认情况下, span 元素使用级联样式表呈现 (CSS) class 属性,而不是 disabled 特性。 这使你可以指定控件的禁用外观,并避免呈现无效的 HTML。 (在 HTML 4.0 和 XHTML 1.1 中, span 元素不支持 disabled attribute.)

Web 应用程序可能包含在 HTML 呈现发生更改时无法正常工作的代码。 若要避免此问题,可以在 Web.config 文件中设置 controlRenderingCompatibilityVersion 元素的 pages 属性,以指示要与哪个早期版本保持兼容性。 例如,如果将 属性设置为 RenderingCompatibility3.5,则禁用的 Label 控件将呈现 disabled 属性,而不是 CSS 类。

注意

可以将此属性设置为的最早版本是 3.5

为了保持向后兼容性,在使用 Visual Studio 将 Web 项目从早期版本升级到 ASP.NET 4 时,Visual Studio 会自动将 Web.config 文件中的 属性设置为 controlRenderingCompatibilityVersion3.5。 如果希望升级的网站使用 ASP.NET 4 中引入的算法呈现 HTML,可以更改或删除 属性 controlRenderingCompatibilityVersion

大多数情况下,由此属性控制的行为是自动的,无需在代码中检查属性 RenderingCompatibility 。 但是,如果要对自定义控件进行编程,则可能必须包含根据此属性的设置更改控件行为的代码。 例如,ASP.NET 4 的自定义控件可能由 Label 控件组成,自定义控件可以通过生成更改 aspNetDisabled 类的 JavaScript 代码来指定控件的禁用外观。 如果 RenderingCompatibility4.0 或更高版本,这将按预期工作。 但是,若要在 为 时RenderingCompatibility获得相同的效果,当 属性为 falseIsEnabled,自定义控件的代码必须将控件的 CssClass 属性设置为“aspNetDisabled”。3.5

适用于

另请参阅