MVC3 里添加一个静态网页为啥访问不到?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MVC3 里添加一个静态网页为啥访问不到?相关的知识,希望对你有一定的参考价值。

VS2012,在View里添加一个静态网页(html文件,里面内容是固定的),启动VS默认的IIS,但是访问这个网页的时候服务器端返回404,说找不到这个网页。我查了这个网页的属性,和其他在View的页面是一个路径,从属性框里看,
比如用controller生成的view的路径是~/abc/AAA

这个html的路径是~/abc/Test
没见有什么区别啊,但是我输入完整路径的时候比如
localhost:80/abc/AAA 可以访问,但是
localhost:80/abc/Test 就报404错误
求解决,谢谢!

你需要了解MVC的路由原理,当你发出请求时,MVC会到指定的Controller下查找对应的Action,如果找到对应Action,再根据Action返回指定的View。
你现在发生的这种情况,是只在文件夹中添加了静态文件,但是对应的Controller中么有对应的Action。
注意:MVC 的Action返回是View只能是:.aspx、.ascx、.cshtml、.vbhtml中的一种。换句话说MVC默认路由不能返回html格式文件。

解决:你可以把文件放在除Views目录下的其他位置(如根目录下)就可以访问了。
建议:你可以先查阅一下MVC的一些材料
参考技术A 在你的web.config中加上
<httpHandlers>
<add verb="GET,HEAD" path="*.html" type="System.Web.StaticFileHandler"/>
<add path="*" verb="*"
type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>
参考技术B public ActionResult Index()

return View("~/Views/静态页.html");
参考技术C 截图看看什么情况!

以上是关于MVC3 里添加一个静态网页为啥访问不到?的主要内容,如果未能解决你的问题,请参考以下文章

我在springMVC里配置了 静态资源访问 为啥还是访问不到

网页静态化

静态部分网页打不开??

Python爬虫:什么是静态网页(数据),什么是动态网页(数据)

网站怎么生成静态访问不了

静态网页能禁止用url直接访问吗? 高手指点 谢谢