Any guidance on configuring ScriptManager, Web.config, or correctly replacing the default ASP.NET AJAX jQuery reference would be greatly appreciated.
Although I do not know why your ScriptResource.axd is loading jQuery v1.12.4 in your app, if you do not use the script mapping to the ScriptManager I suggest you consider use of the script mapping.
Starting with ASP.NET 4.5, for server controls that use client scripts to function correctly, it is recommended to register the necessary client scripts with ScriptManager and deploy ScriptManager on all pages.
When you create the ASP.NET Web Forms app in the Web Application Project format using the template of Visual Studio, the script files for Microsoft Ajax and WebForms are stored in the application's Scripts folder and downloaded from there via ScriptManager. (Previously, they were downloaded from the server control's resources using handlers called WebResource.axd and ScriptResource.axd.)
Furthermore, in addition to Microsoft Ajax and WebForms scripts, scripts such as jQuery and Bootstrap can be integrated with ScriptManager.
For more details, please see the MSDN Blog article ASP.NET 4.5 ScriptManager Improvements in WebForms.
Below is the BundleConfig.cs and ScriptManager of the project created when the template of ASP.NET Web Forms project in the Visual Studio 2026 is used:
BundleConfig.cs in App_Start folder
Note that jQuery is upgraded to v3.7.1 (default is v3.7.0).
using System.Web.Optimization;
using System.Web.UI;
namespace WebForms1
{
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
RegisterJQueryScriptManager();
bundles.Add(new ScriptBundle("~/bundles/WebFormsJs").Include(
"~/Scripts/WebForms/WebForms.js",
"~/Scripts/WebForms/WebUIValidation.js",
"~/Scripts/WebForms/MenuStandards.js",
"~/Scripts/WebForms/Focus.js",
"~/Scripts/WebForms/GridView.js",
"~/Scripts/WebForms/DetailsView.js",
"~/Scripts/WebForms/TreeView.js",
"~/Scripts/WebForms/WebParts.js"));
bundles.Add(new ScriptBundle("~/bundles/MsAjaxJs").Include(
"~/Scripts/WebForms/MsAjax/MicrosoftAjax.js",
"~/Scripts/WebForms/MsAjax/MicrosoftAjaxApplicationServices.js",
"~/Scripts/WebForms/MsAjax/MicrosoftAjaxTimer.js",
"~/Scripts/WebForms/MsAjax/MicrosoftAjaxWebForms.js"));
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
}
public static void RegisterJQueryScriptManager()
{
ScriptManager.ScriptResourceMapping.AddDefinition("jquery",
new ScriptResourceDefinition
{
Path = "~/scripts/jquery-3.7.1.min.js",
DebugPath = "~/scripts/jquery-3.7.1.js",
CdnPath = "https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.7.1.min.js",
CdnDebugPath = "https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.7.1.js"
});
}
}
}
ScriptManager in Site.Master
<asp:ScriptManager runat="server">
<Scripts>
<%--To learn more about bundling scripts in ScriptManager see https://go.microsoft.com/fwlink/?LinkID=301884 --%>
<%--Framework Scripts--%>
<asp:ScriptReference Name="MsAjaxBundle" />
<asp:ScriptReference Name="jquery" />
<asp:ScriptReference Name="WebForms.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebForms.js" />
<asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebUIValidation.js" />
<asp:ScriptReference Name="MenuStandards.js" Assembly="System.Web" Path="~/Scripts/WebForms/MenuStandards.js" />
<asp:ScriptReference Name="GridView.js" Assembly="System.Web" Path="~/Scripts/WebForms/GridView.js" />
<asp:ScriptReference Name="DetailsView.js" Assembly="System.Web" Path="~/Scripts/WebForms/DetailsView.js" />
<asp:ScriptReference Name="TreeView.js" Assembly="System.Web" Path="~/Scripts/WebForms/TreeView.js" />
<asp:ScriptReference Name="WebParts.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebParts.js" />
<asp:ScriptReference Name="Focus.js" Assembly="System.Web" Path="~/Scripts/WebForms/Focus.js" />
<asp:ScriptReference Name="WebFormsBundle" />
<%--Site Scripts--%>
</Scripts>
</asp:ScriptManager>
The resultant html source:
<script src="/bundles/MsAjaxJs?v=D6VN0fHlwFSIWjbVzi6mZyE9Ls-4LNrSSYVGRU46XF81" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
if (typeof(Sys) === 'undefined') throw new Error('ASP.NET Ajax crient framework not loaded');
//]]>
</script>
<script src="scripts/jquery-3.7.1.js" type="text/javascript"></script>
<script src="/bundles/WebFormsJs?v=N8tymL9KraMLGAMFuPycfH3pXe6uUlRXdhtYv8A_jUU1" type="text/javascript"></script>