Control.RenderingCompatibility Właściwość

Definicja

Pobiera wartość określającą wersję ASP.NET, z którą renderowany kod HTML będzie zgodny.

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

Wartość właściwości

Wersja ASP.NET, z którą renderowany kod HTML będzie zgodny.

Atrybuty

Uwagi

ASP.NET ustawia tę właściwość na wartość controlRenderingCompatibilityVersion atrybutu pages elementu w pliku Web.config. controlRenderingCompatibilityVersion Jeśli atrybut nie jest ustawiony w pliku Web.config, wartość domyślna to bieżąca wersja ASP.NET.

Przestroga

Istnieje publiczny zestaw dostępu dla tej właściwości, ale zestaw dostępu obsługuje infrastrukturę .NET Framework i nie ma być używany bezpośrednio z kodu. Jeśli ustawisz tę wartość w kodzie, efekt będzie nieprzewidywalny.

Każda wersja ASP.NET może renderować kod HTML różni się od wcześniejszych wersji. Na przykład w ASP.NET 3.5, jeśli IsEnabled właściwość Label kontrolki to false, domyślnie ASP.NET renderuje span element, którego disabled atrybut jest ustawiony na "disabled". W ASP.NET 4 domyślnie span element jest renderowany za pomocą atrybutu kaskadowego arkusza stylów (CSS) class zamiast atrybutu disabled . Dzięki temu można określić wyłączony wygląd kontrolki i uniknąć renderowania nieprawidłowego kodu HTML. (W kodzie HTML 4.0 i XHTML 1.1 span element nie obsługuje atrybutu disabled ).

Aplikacja internetowa może zawierać kod, który nie działa prawidłowo, jeśli renderowanie kodu HTML ulegnie zmianie. Aby uniknąć tego problemu, można ustawić controlRenderingCompatibilityVersion atrybut pages elementu w pliku Web.config, aby wskazać, z którą wcześniejszą wersją chcesz zachować zgodność. Jeśli na przykład ustawisz RenderingCompatibility właściwość na 3.5, wyłączona Label kontrolka będzie renderować disabled atrybut, a nie klasę CSS.

Uwaga

Najwcześniejsza wersja, na którą można ustawić tę właściwość, to 3.5.

Aby zachować zgodność z poprzednimi wersjami, gdy program Visual Studio uaktualni projekt internetowy do ASP.NET 4 z wcześniejszej wersji, program Visual Studio automatycznie ustawia controlRenderingCompatibilityVersion atrybut w pliku Web.config na 3.5. Jeśli chcesz, aby uaktualniona witryna sieci Web renderowała kod HTML przy użyciu algorytmu wprowadzonego w ASP.NET 4, możesz zmienić lub usunąć controlRenderingCompatibilityVersion atrybut.

W większości przypadków zachowanie kontrolowane przez tę właściwość jest automatyczne i nie trzeba sprawdzać RenderingCompatibility właściwości w kodzie. Jeśli jednak programujesz kontrolkę niestandardową, może być konieczne dołączenie kodu, który zmienia zachowanie kontrolki na podstawie ustawienia tej właściwości. Na przykład kontrolka niestandardowa dla ASP.NET 4 może składać się z Label kontrolek, a kontrolka niestandardowa może określać wyłączony wygląd kontrolki, generując kod JavaScript, który zmienia klasę aspNetDisabled . Będzie to działać zgodnie z oczekiwaniami, jeśli RenderingCompatibility jest 4.0 lub nowszy. Jednak aby uzyskać ten sam efekt, gdy RenderingCompatibility jest to 3.5, kod kontrolki niestandardowej musi ustawić właściwość kontrolki CssClass na "aspNetDisabled", gdy IsEnabled właściwość ma falsewartość .

Dotyczy

Zobacz też