Control.RenderingCompatibility 屬性

定義

取得值,這個值會指定將與呈現 HTML 相容的 ASP.NET 版本。

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

屬性值

將與呈現 HTML 相容的 ASP.NET 版本。

屬性

備註

ASP.NET 會將此屬性設定為Web.config檔案中元素的 pages 屬性值 controlRenderingCompatibilityVersioncontrolRenderingCompatibilityVersion如果未在Web.config檔案中設定屬性,預設值為目前版本的 ASP.NET。

警告

這個屬性有公用 set 存取子,但 set 存取子支援.NET Framework基礎結構,並不適合直接從您的程式碼使用。 如果您在程式碼中設定此值,則效果無法預測。

每個版本的 ASP.NET 可能會以與舊版不同的方式轉譯 HTML。 例如,在 ASP.NET 3.5 中,如果 IsEnabled 控制項的 Label 屬性預設為 false ,則 ASP.NET 轉 spandisabled 譯屬性設為 「disabled」 的專案。 在 ASP.NET 4 中, span 元素預設會以串聯樣式表單轉譯, (CSS) class 屬性,而不是 disabled 屬性。 這可讓您指定控制項的停用外觀,並避免轉譯不正確 HTML。 (HTML 4.0 和 XHTML 1.1 中, span 元素不支援 disabled attribute.)

Web 應用程式可能包含在 HTML 轉譯變更時無法正常運作的程式碼。 若要避免這個問題,您可以在 Web.config 檔案中設定 controlRenderingCompatibilityVersion 元素的 pages 屬性,以指出您想要維持與哪個舊版的相容性。 例如,如果您將 RenderingCompatibility 屬性設定為 3.5 ,則停用 Label 的控制項會轉 disabled 譯屬性,而不是 CSS 類別。

注意

您可以將這個屬性設定為 的最舊版本是 3.5

為了維持回溯相容性,當您使用 Visual Studio 將 Web 專案升級至舊版的 ASP.NET 4 時,Visual Studio 會自動將 Web.config 檔案中的 屬性設定 controlRenderingCompatibilityVersion3.5 。 如果您想要升級的網站使用 ASP.NET 4 中引進的演算法來轉譯 HTML,您可以變更或移除 controlRenderingCompatibilityVersion 屬性。

大部分情況下,這個屬性所控制的行為是自動的,而且您不需要檢查 RenderingCompatibility 程式碼中的 屬性。 不過,如果您要設計自訂控制項,您可能必須包含程式碼,以根據此屬性的設定來改變控制項的行為。 例如,ASP.NET 4 的自訂控制項可能由控制群組成 Label ,而自訂控制項可能會藉由產生改變 aspNetDisabled 類別的 JavaScript 程式碼來指定控制項的停用外觀。 如果 RenderingCompatibility4.0 或更新版本,這會如預期般運作。 但是,若要在 為 3.5RenderingCompatibility 取得相同的效果,當 屬性為 時 IsEnabled ,自訂控制項的程式碼必須將控制項的 CssClass 屬性設定為 false 「aspNetDisabled」。

適用於

另請參閱