Styles, scripts and images in Area folder
Asked Answered
A

1

10

I've setup an Admin area within MVC 3 application and while everything is working when I reference files from the root Scripts, Styles and Images folder, it doesn't work when I created those folders under /Areas/admin/ and referenced them like this:

@Script.Include("~/admin/Scripts/superfish-1.4.8/js/superfish.js")

Please note that this Script.Include helper is something that I have that essentially spits out this:

<script type="text/javascript" src="/admin/Scripts/superfish-1.4.8/js/superfish.js"></script>

So the helper is working and everything is fine when I reference like this

@Script.Include("~/Scripts/superfish-1.4.8/js/superfish.js")

but not when I introduce the area name in there. It results in a 404 Error.

Adnate answered 10/7, 2011 at 16:52 Comment(1)
additionally, the server issues 404 and the RouteDebugger show that no route was hit. Which is fine coz it shouldn't be but why is the server returning 404?Adnate
L
16

That's because the actual path to your script is the following:

@Script.Include("~/areas/admin/Scripts/superfish-1.4.8/js/superfish.js")

which should render:

<script type="text/javascript" src="/areas/admin/Scripts/superfish-1.4.8/js/superfish.js"></script>

Notice the Areas prefix that I added.

Lafrance answered 10/7, 2011 at 17:2 Comment(2)
Any idea why I can't access scripts inside the Views folder. I want to put view specific scripts next to the cshtml file?Gravois
Necromancy, if it helps anyone This is because of the separate web.config in the Views folder. It instructs IIS to block all file requests, but can be changed to allow specific types.Impolitic

© 2022 - 2024 — McMap. All rights reserved.