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

Как включить 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>
}
4b9b3361

Ответ 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)