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> }
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")
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")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With