如何让 JavaScript 捆绑从另一个文件夹(脚本文件夹除外)工作。如果我这样做:
bundles.Add(new ScriptBundle("~/bundles/search").Include("~/Views/Search/*.js"));
浏览器告诉我找不到 javascript 文件。是否可以这样做或者我所有的脚本都必须在 Scripts 文件夹中?
基本上我希望我的 Javascript 包含在我的 View 子文件夹中
如何让 JavaScript 捆绑从另一个文件夹(脚本文件夹除外)工作。如果我这样做:
bundles.Add(new ScriptBundle("~/bundles/search").Include("~/Views/Search/*.js"));
浏览器告诉我找不到 javascript 文件。是否可以这样做或者我所有的脚本都必须在 Scripts 文件夹中?
基本上我希望我的 Javascript 包含在我的 View 子文件夹中
您需要根据此答案更改文件夹:
web.config
在ASP.NET MVC 中,如何从我的视图文件夹中加载脚本?Views
Ashley Lee 的好例子:
<system.webServer>
<handlers>
<add name="JavascriptViewHandler" path="*.js" verb="*"
preCondition="integratedMode" type="System.Web.StaticFileHandler" />
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*"
preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
由于您特别希望只包含 javascript 文件,因此~/Views/web.config
通过添加“JavascriptViewHandler”部分对您的文件进行以下更改。
<system.webServer>
<handlers>
<add name="JavascriptViewHandler" path="*.js" verb="*"
preCondition="integratedMode" type="System.Web.StaticFileHandler" />
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*"
preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
这将保留所有当前对非 JavaScript 文件的阻塞。
我不知道我是否正确理解了您的问题,但是如果您想使用视图中任何文件夹中的脚本文件,或者最好在其布局中使用脚本文件,您可以在<head>
您的部分中添加以下标签View
或_Layout.cshtml
:
<script src="@Url.Content("~/Scripts/jquery-ui.min.js")" type="text/javascript"></script>
您可以提及脚本文件的完整路径,而不是~/Scripts/jquery-ui.min.js