我在兩個不同的服務器(2.0和3.5 .net版本)中部署我的asp.net。 .net 2.0中不支持一些標籤。我如何檢查.net版本並忽略html標籤?ASP .net忽略基於版本的標記
例如AJAX ..我想在.NET 2.0
我在兩個不同的服務器(2.0和3.5 .net版本)中部署我的asp.net。 .net 2.0中不支持一些標籤。我如何檢查.net版本並忽略html標籤?ASP .net忽略基於版本的標記
例如AJAX ..我想在.NET 2.0
根據項目屬性禁用<asp:ScriptManager>
,您可以針對.NET 2.0框架。這將刪除.Net 3.5唯一的引用。
.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會更好。