【问题标题】:'jquery' is not a valid script name. The name must end in '.js''jquery' 不是有效的脚本名称。名称必须以“.js”结尾
【发布时间】:2013-02-05 03:42:00
【问题描述】:

我的 ASP.Net 项目运行良好,但突然断电。当我运行我的网络应用程序时,它现在显示了很多

无法加载程序集 Sanitizer...”然后“无法加载”HtmlAgility...

错误。我能够通过在 Visual Studio 2012 中使用 Manage Nuget Package Solutions 卸载/重新安装它们来解决这些先前的错误。

但是现在我又遇到了一个错误:

'jquery' 不是有效的脚本名称。名称必须以 '.js' 结尾。"

我尝试通过重新安装软件包来做同样的事情,但它不起作用。我应该怎么做才能解决这个问题?我的 root\Scripts 文件夹中已经有一个 jquery.js 文件。我还在我的部分中添加了对此文件的引用:

<script src="Scripts/jquery.js"></script>

但它仍然不起作用。请帮忙。

【问题讨论】:

  • 如果它位于项目的根目录中,您可能需要一个绝对路径:/Scripts/jquery.js。但这取决于引用文件的位置。
  • 我试过了,但它不起作用...

标签: jquery asp.net


【解决方案1】:

顺便说一句,我可以通过使用 Nuget 工具安装 AspNet.ScriptManager.jQuery.UI.CombinedAspNet.ScriptManager.jQuery 软件包来解决此问题。

【讨论】:

  • 我升级了你命名的包;这也有效。
  • 它可以工作(请注意:上面的 AND 至关重要——两个包都需要!
  • 对于任何苦苦挣扎的人来说,有 2 个包可能会让人感到困惑,1 个是 jquery.ui.combined,另一个是 AspNet.ScriptManager.jQuery.UI.Combined 我让他们困惑了大约 5 到 10 个直到我意识到这一点,我安装了错误的几分钟!几乎每次开始一个新项目时,很好的答案都会帮助我!哈哈
【解决方案2】:

右键单击您的项目并转到管理 NuGet 包,然后安装

AspNet.ScriptManager.jQuery.UI.Combined

AspNet.ScriptManager.jQuery

【讨论】:

    【解决方案3】:

    这是可行的解决方案

    在您的解决方案中打开Global.asax

    复制下面的代码只需相应地修改您的 Jquery 版本并将其粘贴到 Global.asax 的 Application_Start 事件中

            ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition
            {
                Path = "~/Scripts/jquery-1.10.2.min.js",
                DebugPath = "~/Scripts/jquery-1.10.2.js",
                CdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.10.2.min.js",
                CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.10.2.js",
                CdnSupportsSecureConnection = true,
                LoadSuccessExpression = "window.jQuery"
            });
    
        ScriptManager.ScriptResourceMapping.AddDefinition("jquery.ui.combined", new ScriptResourceDefinition
        {
            Path = "~/Scripts/jquery-ui-1.10.2.min.js", 
            DebugPath = "~/Scripts/jquery-ui-1.10.2.js", 
            CdnPath = "http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.2/jquery-ui.min.js", 
            CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.2/jquery-ui.js", 
            CdnSupportsSecureConnection = true
        });
             ScriptManager.ScriptResourceMapping.AddDefinition("bootstrap", new ScriptResourceDefinition
        {
            Path = "~/Scripts/bootstrap.min.js", 
            DebugPath = "~/Scripts/bootstrap.js", 
            CdnPath = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js", 
            CdnDebugPath = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.js", 
            CdnSupportsSecureConnection = true
        });
    

    【讨论】:

      【解决方案4】:

      就我而言,我必须添加两个 dll 作为对我的项目的引用。

      【讨论】:

        【解决方案5】:

        感谢您发布后续回答。在将 jQuery.UI 安装到基于 VS.NET 2013 中新的 One ASP.NET 模板的新 ASP.NET Web 表单项目并将此行添加到母版页中的脚本管理器后,我遇到了同样的错误:

        <asp:ScriptReference Name="jquery.ui.combined" />
        

        按照您的说明安装 AspNet.ScriptManager.jQuery.UI.Combined NuGet 包后,错误立即得到解决。

        【讨论】:

        • 你是怎么解决这个问题的?正确的 NuGet 安装顺序是什么?
        【解决方案6】:

        我也遇到过类似的情况,但在我尝试更新 DotNetOpenAuth.Core 之后发生了这种情况。首先它说我需要更新 NuGet,我确实这样做了,然后我更新了 OpenAuth。之后,我开始收到“'jquery' 不是有效的脚本名称。名称必须以 '.js' 结尾。”。

        如果我删除添加 jquery 包的行,它会发生在 jquery-ui 等上。

        我卸载并重新安装了 AspNet.ScriptManager.jQuery 和 AspNet.ScriptManager.Bootstrap 包(因为它最终会抱怨),但仍然没有运气。

        我做的最后一步是从包管理器控制台卸载并重新安装 AjaxControlToolkit,这为我修复了它。

        【讨论】:

          【解决方案7】:

          我有类似的情况,已经有脚本参考(上图),但我还需要确保将 dll 复制到本地文件夹。

          在 AspNet.ScriptManager.jQuery 和 AspNet.ScriptManager.jQuery.UI.Combined 上按 F4 并将 Copy Local 设置为 True。

          【讨论】:

            【解决方案8】:

            聚会可能有点晚了,但我遇到了同样的问题,并尝试了上面和其他页面上的许多解决方案。无论该引用是什么,我都会在最后一个脚本引用上得到错误。我最终决定删除所有脚本引用并改用捆绑包。例如,默认应用程序在 bundles.config 中有以下内容:

            bundles.Add(new ScriptBundle("~/bundles/MsAjaxJs").Include(
                "~/Scripts/WebForms/MsAjax/MicrosoftAjax.js",
            
            ScriptManager.ScriptResourceMapping.AddDefinition(
                "respond",
                new ScriptResourceDefinition
                {
                    Path = "~/Scripts/respond.min.js",
                    DebugPath = "~/Scripts/respond.js",
                }
            );
            

            所以我将“响应”更改为捆绑包而不是脚本引用:

            bundles.Add(new ScriptBundle("~/bundles/respond").Include(
                "~/Scripts/respond-1.4.2.js"));
            

            连同所有其他脚本引用,并将它们添加到母版页标题:

            <asp:PlaceHolder runat="server">
                <%: Scripts.Render("~/bundles/WebFormsJs") %>
                <%: Scripts.Render("~/bundles/MsAjaxJs") %>
                <%: Scripts.Render("~/bundles/jquery") %>
                <%: Scripts.Render("~/bundles/jqueryui") %>
                <%: Scripts.Render("~/bundles/modernizr") %>
                <%: Scripts.Render("~/bundles/respond") %>
            </asp:PlaceHolder>
            

            这消除了错误 - 终于在 2 天后 - 并允许我运行一些基本页面,包括默认的 Register.aspx 页面。不知道我接下来会遇到什么,但我想我会通过这个。

            【讨论】:

              【解决方案9】:

              这解决了我的问题。添加这个 BundleConfig.cs 检查你的路径。

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

              并将其保存在 site.master 上的 ScriptManager 中

                <asp:ScriptReference Name="bootstrap" />
              

              如果需要,请关注this article 以获得更多信息

              【讨论】:

                【解决方案10】:

                将此添加到您的 Web.config 中,问题将得到解决:

                <appSettings>
                <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
                </appSettings>
                

                【讨论】:

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