Как включить js файлы в представление. ASP.NET MVC 4
Интересно, почему мой js файл работает, когда я вызываю его в представлении:
@section Scripts {
<script>
function myFunction() {
alert("Hello1");
}
</script>
}
но не работает, когда я его вызываю:
@section Scripts {
<script type="text/javascript" src="~/Views/Home/script.js"></script>
<script>
myFunction();
</script>
}
Ответы
Ответ 1
Это потому, что файлы .js
недоступны в папке ~/Views/
. Вы должны включить его.
Чтобы включить доступ к файлам .js
в папке "Представления", вы можете добавить следующее в папку "Views" web.config непосредственно под тегом handlers
:
<add name="JavaScriptHandler"
path="*.js"
verb="*"
preCondition="integratedMode"
type="System.Web.StaticFileHandler" />
Альтернативно поместите ваш script в папку ~/Scripts/
и укажите его так:
@Scripts.Render("~/Scripts/script.js")
Ответ 2
Лучшей практикой является размещение вашего Js файла в папке Script и доступ к нему оттуда. Вы можете написать этот код в виде главы, чтобы использовать файл js
@Scripts.Render("~/Scripts/script.js")
Ответ 3
вам нужно добавить script в конфигурацию Bundle:
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js", "~/Views/Home/script.js"));
это сработало для меня
Ответ 4
Вы должны добавить rendersection на свою страницу макета, которую используете ваши представления.
@RenderSection("scripts", required: false)