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.

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; }
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 は、web.config ファイル内のcontrolRenderingCompatibilityVersion pages要素の属性の値にこのプロパティを設定します。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既定disabledでは、ASP.NET は属性spanが "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では、要素はdisabled属性ではなくカスケードスタイルシート ( class CSS) 属性を使用してレンダリングされます。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. この問題を回避するには、web.config controlRenderingCompatibilityVersionファイルのpages要素の属性を設定して、互換性を維持する以前のバージョンを指定します。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 にアップグレードすると、 controlRenderingCompatibilityVersion visual studio によって、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. アップグレードした Web サイトで、ASP.NET 4 で導入されたアルゴリズムを使用して HTML を表示する場合は、 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コントロールで構成され、カスタムコントロールは、クラスをaspNetDisabled変更する JavaScript コードを生成することによって、コントロールの無効な外観を指定する場合があります。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. これは、がRenderingCompatibility 4.0以降の場合に予想どおりに動作します。This will work as expected if RenderingCompatibility is 4.0 or later. ただし、 RenderingCompatibilityがの3.5場合と同じ効果が得られるように、 IsEnabledプロパティがfalseの場合CssClass 、カスタムコントロールのコードでは、コントロールのプロパティを "aspNetDisabled" に設定する必要があります。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.

適用対象

こちらもご覧ください