2009-11-16 35 views
0

我在兩個不同的服務器(2.0和3.5 .net版本)中部署我的asp.net。 .net 2.0中不支持一些標籤。我如何檢查.net版本並忽略html標籤?ASP .net忽略基於版本的標記

例如AJAX ..我想在.NET 2.0

回答

0

根據項目屬性禁用<asp:ScriptManager>,您可以針對.NET 2.0框架。這將刪除.Net 3.5唯一的引用。

0

.aspx文件中的變量靜態編譯爲一系列對象實例。當相應類型不存在時,不可能使用某些標籤。

如果您需要同時定位ASP.NET 2.0和3.5,則需要在代碼隱藏中使用ASP.NET 3.5的特定功能,並且僅在測試當前版本後才能使用。使用3.5功能的代碼必須使用特定的方法,如果您不滿2.0,則可調用從不調用。 JIT編譯器按照方法粒度工作,因此您可以在未調用的方法中使用未知類型。但是,以下不能工作:

void f() { 

    if (IsRunningUnderAspNet35) { 
     AspNet35Class xxx = new AspNet35Class(); 
    } 
} 

但以下幾項工作:

void f() { 

    ICommonInterface i; 
    if (IsRunningUnderAspNet35) { 
     i = FactoryUsingAspNet35Class(); 
    } else { 
     i = FactoryUsingAspNet20Class(); 
    } 
    // use i 

}

如果您使用引用ASPNET 3.5 DLL文件,你需要動態加載它們,而不是通過靜態項目引用。

注意:試圖說服服務器管理員安裝ASP.NET 3.5會更好。