Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to include js files in the view. ASP.NET MVC 4

Tags:

I wonder why my js file work when I call it in the view:

@section Scripts {   <script>         function myFunction() {         alert("Hello1");     }         </script> } 

but does not work when I call it:

@section Scripts {     <script type="text/javascript" src="~/Views/Home/script.js"></script>    <script>             myFunction();     </script> } 
like image 640
efrainx3 Avatar asked Jul 15 '14 16:07

efrainx3


2 Answers

It's because .js files are not accessible in the ~/Views/ folder. You have to enable it.

To enable access to .js files in the Views folder, you can add the following to your Views' folder's web.config directly under the handlers tag:

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

Alternatively put your script into the ~/Scripts/ folder and reference it like such:

@Scripts.Render("~/Scripts/script.js") 
like image 56
David Sherret Avatar answered Nov 02 '22 05:11

David Sherret


Its better practice to place your Js file in Script folder and access it from there. You could write this code in view's head to use the js file

@Scripts.Render("~/Scripts/script.js") 
like image 21
Cybercop Avatar answered Nov 02 '22 04:11

Cybercop