Control.RenderingCompatibility Control.RenderingCompatibility Control.RenderingCompatibility Control.RenderingCompatibility Property


レンダリングされる HTML と互換性がある ASP.NET のバージョンを表す値を取得します。Gets a value that specifies the ASP.NET version that rendered HTML will be compatible with.

 virtual property Version ^ RenderingCompatibility { Version ^ get(); void set(Version ^ value); };
public virtual Version RenderingCompatibility { get; set; }
member this.RenderingCompatibility : Version with get, set
Public Overridable Property RenderingCompatibility As Version


レンダリングされる HTML と互換性がある ASP.NET のバージョン。The ASP.NET version that rendered HTML will be compatible with.


ASP.NET では、このプロパティを設定の値に、controlRenderingCompatibilityVersionの属性、 pages Web.config ファイル内の要素。ASP.NET sets this property to the value of the controlRenderingCompatibilityVersion attribute of the pages element in the Web.config file. 場合、controlRenderingCompatibilityVersion属性は、Web.config ファイルで設定されていない、既定値は、現在のバージョンの ASP.NET。If the controlRenderingCompatibilityVersion attribute is not set in the Web.config file, the default value is the current version of ASP.NET.


このプロパティのパブリック set アクセサーが set アクセサーは、.NET Framework インフラストラクチャをサポートしているし、コードから直接使用するものではありません。There is a public set accessor for this property, but the set accessor supports the .NET Framework infrastructure and is not intended to be used directly from your code. コードでこの値を設定する場合、効果は予測できません。If you set this value in your code, the effect is unpredictable.

ASP.NET の各リリースでは、以前のリリースから、HTML を異なる方法で表示可能性があります。Each release of ASP.NET might render HTML differently from earlier releases. ASP.NET 3.5 では、たとえばで場合、IsEnabledのプロパティ、Labelコントロールがfalse、既定では、ASP.NET を表示、span要素がdisabled属性が"disabled"に設定します。For example, in ASP.NET 3.5, if the IsEnabled property of a Label control is false, by default, ASP.NET renders a span element whose disabled attribute is set to "disabled". 既定では、ASP.NET 4 で、span要素は、カスケード スタイル シート (CSS) でレンダリングされてclass属性の代わりに、disabled属性。In ASP.NET 4, by default, the span element is rendered with a cascading style sheet (CSS) class attribute instead of the disabled attribute. これにより、無効になっているコントロールの外観を指定することができますを無効な HTML のレンダリングを回避できます。This lets you specify the disabled appearance of the control and avoids rendering invalid HTML. (HTML 4.0 および XHTML 1.1 で、span要素はサポートしていません、disabled属性)。(In HTML 4.0 and XHTML 1.1, the span element does not support the disabled attribute.)

Web アプリケーションでは、HTML 表示が変更された場合、正常に機能しないようされるコードを含む可能性があります。A Web application might include code that would not function correctly if HTML rendering changes. この問題を回避するために設定することができます、controlRenderingCompatibilityVersionの属性、pagesとの互換性を維持する旧バージョンを示すために Web.config ファイル内の要素。To avoid this problem, you can set the controlRenderingCompatibilityVersion attribute of the pages element in the Web.config file to indicate which earlier version you want to maintain compatibility with. 設定する場合など、RenderingCompatibilityプロパティを3.5、無効なLabelコントロールを表示、disabled属性と CSS クラスではありません。For example, if you set the RenderingCompatibility property to 3.5, a disabled Label control will render a disabled attribute and not a CSS class.


このプロパティを設定できる最も古いバージョンは3.5します。The earliest version that you can set this property to is 3.5.

Visual Studio を使用して、Web プロジェクトを ASP.NET 4 を以前のバージョンからアップグレードする場合は、旧バージョンとの互換性を維持、Visual Studio が自動的に設定、controlRenderingCompatibilityVersionに Web.config ファイルで属性3.5します。To maintain backward compatibility, when you use Visual Studio to upgrade a Web project to ASP.NET 4 from an earlier version, Visual Studio automatically sets the controlRenderingCompatibilityVersion attribute in the Web.config file to 3.5. ASP.NET 4 で導入されたアルゴリズムを使用して HTML を表示するために、アップグレード済みの Web サイトを設定する場合は、変更または削除、controlRenderingCompatibilityVersion属性。If you want an upgraded Web site to render HTML using the algorithm that was introduced in ASP.NET 4, you can change or remove the controlRenderingCompatibilityVersion attribute.

ほとんどの場合、このプロパティによって制御される動作は自動とを確認する必要はありません、RenderingCompatibilityコードでプロパティ。Most of the time, the behavior controlled by this property is automatic and you do not have to check the RenderingCompatibility property in your code. ただし、カスタム コントロールをプログラミングしている場合は、このプロパティの設定に基づいて、コントロールの動作を変更するコードを含める必要があります。However, if you are programming a custom control, you might have to include code that alters the control's behavior based on the setting of this property. たとえば、ASP.NET 4 用のカスタム コントロールの構成可能性がありますLabelコントロール、およびカスタム コントロールを変更する JavaScript コードを生成することによって無効になっているコントロールの外観を指定可能性があります、aspNetDisabledクラス。For example, a custom control for ASP.NET 4 might be composed of Label controls, and the custom control might specify the disabled appearance of the control by generating JavaScript code that alters the aspNetDisabled class. これは予想される場合と機能RenderingCompatibility4.0またはそれ以降。This will work as expected if RenderingCompatibility is 4.0 or later. 場合は影響が同じにRenderingCompatibility3.5、カスタム コントロールのコードは、コントロールを設定する必要がありますCssClassプロパティを"aspNetDisabled"ときに、IsEnabledプロパティはfalseします。But to get the same effect when RenderingCompatibility is 3.5, the custom control's code must set the control's CssClass property to "aspNetDisabled" when the IsEnabled property is false.