我可以在MVC区域内部署javascript文件吗?

Sam*_*tar 5 asp.net-mvc asp.net-mvc-3

我在区域内有我的js文件,我无法访问它们.当我将它们移到MVC区域之外时,我可以访问它.

我尝试过以下方法:

  • js文件的不同命名 - 不能解决问题
  • 检查它们是否存在于服务器上 - 它们确实存在
  • 直接从服务器上的IIS管理器中访问文件 - 它们将无法打开并返回未找到
  • 直接从服务器上的IIS管理器中访问相同的文件,但是当文件位于脚本目录中时 - 它们在浏览器中打开
  • 使用路由检查器 - 当我尝试访问文件时,它不会打开路由调试,而只是说"404"

这有效:

<script src="@Url.Content("~/Scripts/jquery/_Roles.js")" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

这不起作用:

<script src="@Url.Content("~/Areas/Administration/Scripts/Roles/_Roles.js")" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

在Areas文件夹下阻止脚本的文件会有什么不同吗?

mcc*_*002 -3

为什么将脚本放在“区域”部分?我也有一个带有区域的 mvc 站点,但我仍然将脚本保存在 Scripts 文件夹中。

我的建议是重新考虑以这种方式组织内容的原因,并考虑将所有外部 .js 文件移至 Scripts 文件夹。

  • 区域是功能的逻辑分组,因此除了实现问题之外,为什么不希望将区域特定脚本放入区域文件夹中?对我来说似乎是常识。 (15认同)
  • 如果您的架构遵循使用自主业务组件的 SOA 风格,那么这很有意义 (3认同)
  • 我至少可以想到一个原因 - 阻止没有管理权限的用户阅读管理面板脚本,这可能会给他们一些关于那里发生的事情(路径、功能等)的想法。我实际上来这里是为了寻找有关在 MVC 区域中存储脚本的信息...... (2认同)