Control.RenderingCompatibility Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 false
wartość .