When you need to split layout and JS code to different files, it might be convenient to place both files in Views/{ControllerName} folder. You need to change web.config file inside Views folder.
1. Add handler in <system.web> section
1 2 3 4 5 |
<system.web> <httpHandlers> <add path="*.js" verb="GET,HEAD" type="System.Web.StaticFileHandler"/> </httpHandlers> ... |
2. Add handler in <system.webServer> section before BlockViewHandler
1 2 3 4 5 6 |
<system.webServer> <handlers> <remove name="BlockViewHandler"/> <add name="JavaScriptHandler" path="*.js" verb="GET,HEAD" type="System.Web.StaticFileHandler" /> <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> ... |
Now you can include JavaScript file in your layout page.
1 |
<script type="text/javascript" src="@Url.Content("~/Views/ControllerName/Index.js")"></script> |