"区域"文件夹中的样式,脚本和图像

mar*_*are 10 asp.net-mvc-areas asp.net-mvc-3

我在MVC 3应用程序中设置了一个Admin区域,当我从根Scripts,Styles和Images文件夹中引用文件时,一切都正常工作,当我在这些文件夹下创建/Areas/admin/并引用它们时,它不起作用:

@Script.Include("~/admin/Scripts/superfish-1.4.8/js/superfish.js")
Run Code Online (Sandbox Code Playgroud)

请注意,这个Script.Include助手是我所拥有的,基本上吐出这个:

<script type="text/javascript" src="/admin/Scripts/superfish-1.4.8/js/superfish.js"></script>
Run Code Online (Sandbox Code Playgroud)

所以当我像这样引用时,助手正在工作,一切都很好

@Script.Include("~/Scripts/superfish-1.4.8/js/superfish.js")
Run Code Online (Sandbox Code Playgroud)

但是当我在那里介绍区域名称时.它会导致404错误.

Dar*_*rov 16

那是因为脚本的实际路径如下:

@Script.Include("~/areas/admin/Scripts/superfish-1.4.8/js/superfish.js")
Run Code Online (Sandbox Code Playgroud)

应呈现:

<script type="text/javascript" src="/areas/admin/Scripts/superfish-1.4.8/js/superfish.js"></script>
Run Code Online (Sandbox Code Playgroud)

注意Areas我添加的前缀.

  • *Necromancy,如果它可以帮助任何人*这是因为Views文件夹中的单独web.config.它指示IIS阻止所有文件请求,但可以更改为允许特定类型. (5认同)