How to include js files in the view. ASP.NET MVC 4
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="https://stackoverflow.com/questions/24763493/~/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")
you have to add your script in the Bundle config :
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js", "https://stackoverflow.com/questions/24763493/~/Views/Home/script.js"));
this worked for me
You should Add rendersection to your Layout Page which your view using.
@RenderSection("scripts", required: false)
The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .