You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询:‘WebFormsBundle’不是有效脚本名称报错的解决方法

解决‘WebFormsBundle’不是有效的脚本名称(必须以‘.js’结尾)的问题

这个错误的根源很明确:你在ScriptManager里添加的<asp:ScriptReference Name="WebFormsBundle"/>不符合ASP.NET ScriptReference的命名规则——要么脚本名称得带.js后缀,要么得是已在BundleConfig中正确配置的合法Bundle名称,而你现在的写法两边都不沾。

结合你提供的代码片段,我给你两个直接可行的解决方案:

方案1:删除多余的错误引用

看你已经逐个引用了所有WebForms相关的核心脚本(WebForms.js、WebUIValidation.js、MenuStandards.js等等),完全不需要再额外引用一个未定义的WebFormsBundle。直接把这一行代码删掉,问题就能解决:

<!-- 删掉这一行即可 -->
<asp:ScriptReference Name="WebFormsBundle"/>

之前运行正常就是因为没有这行错误的引用,大概率是你后来误加的。

方案2:正确配置并引用Bundle(如果确实需要打包)

如果你想通过Bundle来打包这些WebForms脚本,那得先在App_Start/BundleConfig.cs里配置这个Bundle:

bundles.Add(new ScriptBundle("~/bundles/WebFormsBundle").Include(
    "~/Scripts/WebForms/WebForms.js",
    "~/Scripts/WebForms/WebUIValidation.js",
    "~/Scripts/WebForms/MenuStandards.js",
    "~/Scripts/WebForms/GridView.js",
    "~/Scripts/WebForms/DetailsView.js",
    "~/Scripts/WebForms/TreeView.js",
    "~/Scripts/WebForms/WebParts.js",
    "~/Scripts/WebForms/Focus.js"
));

配置好之后,在ScriptManager里用Path属性指向Bundle的路径,而不是用Name:

<asp:ScriptReference Path="~/bundles/WebFormsBundle" />

同时记得删掉之前逐个引用的那些WebForms脚本,避免重复加载。

额外注意点

以后使用ScriptReference的时候要记住:

  • 用Name属性时,要么是NuGet包预定义的名称(比如你代码里的jquery、bootstrap),要么是带.js后缀的具体脚本名
  • 如果要引用自定义Bundle,一定要用Path属性指向Bundle的虚拟路径,而不是随便写个名称

内容的提问来源于stack exchange,提问作者Lara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:21:39