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 falsewartość .