Control.RenderingCompatibility 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取一个值,该值指定呈现的 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
属性的值controlRenderingCompatibilityVersion
。
controlRenderingCompatibilityVersion
如果未在 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 文件中的 属性设置为 controlRenderingCompatibilityVersion
3.5
。 如果希望升级的网站使用 ASP.NET 4 中引入的算法呈现 HTML,可以更改或删除 属性 controlRenderingCompatibilityVersion
。
大多数情况下,由此属性控制的行为是自动的,无需在代码中检查属性 RenderingCompatibility 。 但是,如果要对自定义控件进行编程,则可能必须包含根据此属性的设置更改控件行为的代码。 例如,ASP.NET 4 的自定义控件可能由 Label 控件组成,自定义控件可以通过生成更改 aspNetDisabled
类的 JavaScript 代码来指定控件的禁用外观。 如果 RenderingCompatibility 为 4.0
或更高版本,这将按预期工作。 但是,若要在 为 时RenderingCompatibility获得相同的效果,当 属性为 false
时IsEnabled,自定义控件的代码必须将控件的 CssClass
属性设置为“aspNetDisabled”。3.5