[英]'jquery' is not a valid script name. The name must end in '.js'
[英]'jquery' is not a valid script name. The name must end in '.js'
我的ASP.Net項目運行良好,突然間我們出現電源故障。 當我運行我的網絡應用程序時,它現在顯示了很多
無法加載程序集Sanitizer ......“然后”無法加載“HtmlAgility ......
錯誤。 通過使用Visual Studio 2012中的Manage Nuget Package Solutions卸載/重新安裝它們,我能夠解決這些先前的錯誤。
但現在我遇到了另一個錯誤:
'jquery'不是有效的腳本名稱。 名稱必須以'.js'結尾。“
我嘗試通過重新安裝包來做同樣的事情,但它不起作用。 我該怎么做才能解決這個問題? 我已經在我的root \\ Scripts文件夾中有一個jquery.js文件。 我還在我的部分中添加了對此文件的引用:
<script src="Scripts/jquery.js"></script>
但它仍然無法奏效。 請幫忙。
順便說一句,我可以通過使用Nuget工具安裝AspNet.ScriptManager.jQuery.UI.Combined
和AspNet.ScriptManager.jQuery
包來解決這個問題。
右鍵單擊您的項目,然后去管理NuGet包 ,然后安裝
AspNet.ScriptManager.jQuery.UI.Combined
和
AspNet.ScriptManager.jQuery
包
我有類似的情況,但我嘗試更新DotNetOpenAuth.Core后發生了。 首先它說我需要更新NuGet,我做了,然后我更新了OpenAuth。 之后我開始得到“'jquery'不是一個有效的腳本名稱。名稱必須以'.js'結尾。”
如果我刪除了添加jquery包的行,它將在jquery-ui等上發生。
我卸載並重新安裝了AspNet.ScriptManager.jQuery和AspNet.ScriptManager.Bootstrap軟件包(因為它最終會抱怨),但仍然沒有運氣。
我做的最后一步是從包管理器控制台卸載並重新安裝AjaxControlToolkit並為我修復它。
這是工作解決方案
在您的解決方案中打開
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
});
感謝您發布您的后續答復。 在基於VS.NET 2013中的新One ASP.NET模板將jQuery.UI安裝到新的ASP.NET Web表單項目並將此行添加到母版頁中的腳本管理器之后,我得到了同樣的錯誤:
<asp:ScriptReference Name="jquery.ui.combined" />
按照您的說明安裝AspNet.ScriptManager.jQuery.UI.Combined NuGet包后,錯誤立即得到解決。
我有類似的情況,已經有腳本參考(上面),但我還需要確保將dll復制到本地文件夾。
F4在AspNet.ScriptManager.jQuery和AspNet.ScriptManager.jQuery.UI.Combined上並將Copy Local設置為True。
派對可能有點晚了,但我遇到了同樣的問題,並嘗試了許多解決方案,如上所述和其他頁面。 無論引用是什么,我都會在最后一個腳本引用上得到錯誤。 我最終決定刪除所有腳本引用並改為使用bundle。 例如,默認應用程序在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頁面。 不知道我接下來會遇到什么,但想到我會傳遞這個。
將此添加到您的Web.config,問題將得到解決:
<appSettings>
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
</appSettings>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.