我有以下文件夹结构,它位于D分区上,并且它位于MVC应用程序之外:
D:\item\html_file.html
D:\item\content\style.css
D:\item\js\site.js
html_file.html
引用了js和css,如:
<link href="content/style.css" ... />
<script src='js/site.js'>
在MVC行动中我有类似的东西:
[HttpGet]
public ActionResult GetItem(string id)
{
if (string.IsNullOrWhiteSpace(id)) {
throw new HttpException((int) HttpStatusCode.NotFound, "The id doesn't exist");
}
// get/verify user's rights and permissions
try {
string file = @"D:\item\html_file.html";
return File(file, MimeMapping.GetMimeMapping(file));
} catch (Exception e) {
// return 404
}
}
但是没有加载CSS和JS文件(它给了我404,试图访问www.blabla.com/myCtrl/getitem/content/style.css
)。
我的问题:如何加载MVC应用程序之外的那些css和js?
由于
答案 0 :(得分:0)
您认为您服务器的当前位置位于项文件夹中:
<link href="content/style.css" ... />
<script src='js/site.js'>
但事实并非如此。如果向路径添加斜杠
<link href="/content/style.css" ... />
<script src='/js/site.js'>
然后将在应用程序的根文件夹中搜索它们。如果项目文件夹恰好是那个,那么这将解决您的问题。如果没有,那么你需要为它添加一个前缀,包含从根开始的路径,只记得用斜杠开始路径。