Связывание Javascript в другую папку
Как я могу работать с JavaScript из другой папки (кроме папки скрипта). Если я это сделаю:
bundles.Add(new ScriptBundle("~/bundles/search").Include("~/Views/Search/*.js"));
браузер говорит мне, что файл javascript не может быть найден. Возможно ли это сделать или все мои sripts должны быть в папке Scripts?
в основном я хочу, чтобы мой Javascript был включен в мои подпапки представления
3 ответов
вам нужно изменить web.config
на по этого ответа:
In ASP.NET MVC, как я могу загрузить скрипт из папки view?
хороший пример от Эшли Ли:
<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.
Я не знаю, правильно ли я понял ваш вопрос, но если вы хотите использовать файл сценария из любой папки в представлении или предпочтительно в его макете, вы можете добавить следующий тег в вы View
или _Layout.cshtml
:
<script src="@Url.Content("~/Scripts/jquery-ui.min.js")" type="text/javascript"></script>
вы можете указать полный путь к файлу скрипта вместо ~/Scripts/jquery-ui.min.js