【问题标题】:Respond is not a valid script name, the name must end in .js响应不是有效的脚本名称,名称必须以 .js 结尾
【发布时间】:2016-06-20 10:17:39
【问题描述】:

“/”应用程序中的服务器错误。

'respond' 不是有效的脚本名称。名称必须以“.js”结尾。

说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.InvalidOperationException:“响应”不是有效的脚本名称。名称必须以“.js”结尾。

来源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[InvalidOperationException: 'respond' 不是有效的脚本名称。名称必须以“.js”结尾。] System.Web.UI.ScriptReference.GetDebugName(String releaseName) +140 System.Web.UI.ScriptReference.ShouldUseDebugScript(字符串 releaseName,程序集程序集,布尔 isDebuggingEnabled,程序集 currentAjaxAssembly)+48 System.Web.UI.ScriptReference.DetermineResourceNameAndAssembly(ScriptManager scriptManager, Boolean isDebuggingEnabled, String& resourceName, Assembly&assembly) +106 System.Web.UI.ScriptReference.GetUrlFromName(ScriptManager scriptManager, IControl scriptManagerControl, Boolean zip, Boolean useCdnPath) +77 System.Web.UI.ScriptReference.GetUrlInternal(ScriptManager scriptManager, Boolean zip, Boolean useCdnPath) +370 System.Web.UI.ScriptReference.GetUrlInternal(ScriptManager scriptManager, Boolean zip) +61 System.Web.UI.ScriptReference.GetUrl(ScriptManager scriptManager, Boolean zip) +123 System.Web.UI.ScriptManager.RegisterUniqueScripts(List`1 uniqueScripts) +167 System.Web.UI.ScriptManager.RegisterScripts() +405 System.Web.UI.ScriptManager.OnPagePreRenderComplete(对象发送者,EventArgs e)+145 System.Web.UI.Page.OnPreRenderComplete(EventArgs e) +9753946 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5054

我什至不知道从哪里开始寻找这个错误的原因 当我在 VS2015 中调试我的 ASP.NET Web 应用程序时发生。

如果我删除了Global.asax 类,这似乎已经发生了,因为在此之前它会在本地工作,但在部署到 web 时会抛出类型不明确的错误。 我现在重新添加了 Global.asax 类,但无济于事。

【问题讨论】:

    标签: javascript c# asp.net


    【解决方案1】:

    添加后

        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
    

    global.asax,它又开始工作了。

    【讨论】:

      【解决方案2】:

      对我来说问题很简单,我的文件位于由云服务(即 Google File Stream)管理的文件夹中。我将文件移出,问题就消失了。

      【讨论】:

        【解决方案3】:

        见:scriptreference named respond no longer works

        检查你是否依赖 Respond.js (https://github.com/scottjehl/Respond),可能在 site.master:

         <asp:ScriptManager runat="server">
                <Scripts>
                 ...
                    <asp:ScriptReference Name="respond" />
                 ...
                </Scripts>
            </asp:ScriptManager>
        

        如果是这样,请确保您包含文件,您可以使用 Nuget 通过搜索 Respond 添加它们,完成后您将在 /scripts 文件夹下看到 Respond.js。

        您可能还需要在RegisterBundles 内的Bundleconfig.cs 中添加一个定义,以指向Respond 脚本:

                   ScriptManager.ScriptResourceMapping.AddDefinition(
                     "respond",
                     new ScriptResourceDefinition
                     {
                         Path = "~/Scripts/respond.min.js",
                         DebugPath = "~/Scripts/respond.js",
                     });
        

        重建并运行。

        【讨论】:

          猜你喜欢
          • 2019-01-18
          • 2013-02-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-07
          • 2019-10-04
          相关资源
          最近更新 更多