如何防止MsAjax脚本加载到ASP.NET WebForms项目中?

时间:2018-09-09 02:14:46

标签: c# asp.net webforms

我创建了一个ASP.NET 4.7.1 WebForms Web应用程序项目。

  • 我在BundleConfig.cs中删除了对〜/ Scripts / WebForms和〜/ Scripts / WebForms / MsAjax的所有引用。
  • 我删除了Microsoft.AspNet.ScriptManager.MSAjax和Microsoft.ScriptManager.MSAjax的NuGet程序包
  • 我在整个项目中对“ msajax”进行了“编辑>在文件中查找”,但未找到任何内容。

当我在网站上加载任何页面时,〜/ Scripts / WebForms / MsAjax / MicrosoftAjax.js和〜/ Scripts / WebForms / MsAjax / MicrosoftAjaxWebForms.js仍然都加载。您可以在HTML源代码中看到它们,并看到它们已装入标准浏览器开发人员工具中。据我所知,我不需要它们,也不希望它们浪费我的带宽(每个页面加载超过140KB)。

很明显,我可以删除文件本身,但是随后我的日志中仅收到HTTP 404错误。

1 个答案:

答案 0 :(得分:1)

要防止MsAjax脚本在页面上加载,您需要将属性AjaxFrameworkMode设置为Disabled

标记

<asp:ScriptManager ID="ScriptManager" AjaxFrameworkMode="Disabled" ScriptMode="Release" runat="server">
    <CompositeScript ScriptMode="Release">
        <Scripts>
            <asp:ScriptReference Name="WebForms.js" Assembly="System.Web" />
            <asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" />
        </Scripts>
    </CompositeScript>
</asp:ScriptManager>

背后的代码

ScriptManager.AjaxFrameworkMode = AjaxFrameworkMode.Disabled;