Подтвердить что ты не робот

MVC - Доступ к файлам css, image, js в папке просмотра

В моем приложении mvc 3, предполагая, что у меня есть структура папок, например \Views\Account\js\custom.js Как добавить этот файл в мое представление в Account\index.cshtml, пожалуйста?

Я пробовал:

<script src="js/custom.js" type="text/javascript"></script>
<script src="/views/account/js/custom.js" type="text/javascript"></script>
<script src="~views/account/js/custom.js" type="text/javascript"></script>

но ничего не работает, Firebug всегда говорит, что файл 404 не найден в местах, которые не похожи на те, которые я указываю. (иногда он добавляет дополнительный вид в путь: -s)

Я знаю, что могу поместить его за пределы представления в свою собственную папку и получить доступ к нему как /myFolder/myfile.js, и он будет работать, но этот файл javascript очень тесно связан с тем, что происходит в представлении учетной записи, и ничего больше, поэтому смысл поставить его там.

спасибо.

4b9b3361

Ответ 1

Файл web.config в папке /Views ограничивает доступ к файлам в папке по умолчанию:

<httpHandlers>
  <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>

Вы можете изменить это, но, вероятно, более безопасно вообще не хранить активы в папке представлений.

Ответ 2

Вы можете использовать UrlHelper:

<script src="@Url.Content("~/view/account/js/custom.js")" type="text/javascript"></script>

Ответ 4

Добавьте это под своими представлениями раздел обработчиков web.config

<add name="JavaScriptHandler" path="*.js" verb="*" preCondition="integratedMode" type="System.Web.StaticFileHandler" />