UpdatePanel异步回发混合.NET模式

时间:2014-12-30 08:09:08

标签: c# .net-3.5 updatepanel .net-4.5

我有一个带有一些updatepanel的.NET 4.5应用程序。 如果我调试应用程序,或者我将应用程序作为单独的站点添加到IIS,它一切正常。 但是,此应用程序必须位于.NET 3.5上运行的现有网站的子文件夹中。

为了让它工作一点,我已经将以下引用添加到我的脚本管理器

<asp:ScriptReference Name="MicrosoftAjax.js" />
<asp:ScriptReference Name="MicrosoftAjaxWebForms.js" />

当我立即在更新面板中执行操作时,它会执行完整的回发。 我认为它必须对主站点的混合版本和其中的子应用程序做一些事情。 该应用程序在具有正确.NET版本的不同应用程序池下运行。

我现在无法将网站更新为.NET4 / 4.5,因此无法选择。

也许它与root网站中的web.config有关,我看到的一件事是:

<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

我应该在子应用程序中覆盖它吗?如果是这样,用什么版本和公钥?

[编辑]

我尝试了以下方法,但没有帮助:

        <remove name="ScriptModule" />
        <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

1 个答案:

答案 0 :(得分:0)

我找到了。 主网站最初是.NET1应用程序,升级到.NET2,之后是.NET3.5。

在web.config中,有一行,它分解了一些像“updatepanel”这样的“新”功能。 通过删除此行,一切正常。

<xhtmlConformance mode="Legacy"/>