ASP.Net MVC如何访问的静态页面

MVC开发中,因为View文件夹下的web.config文件默认会把任何方法的请求的任何文件,路径都交给 System.Web.HttpNotFoundHandler 去处理.起到Controller统一控制的效果.

<httpHandlers>
<add path="*" verb="*"
type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>

现在项目需要用静态页面来做表单,如果在MVC中直接请求一个.html文件的话,等待你的是一个404,必须的。

所以要解决这个问题,看了一下msdn关于Web.config的章节,找到了一个 System.Web.StaticFileHandler 的Handler,看字面的意思估计靠谱,直接放到 NotFoundHandler 前面。

<httpHandlers>
<add verb="GET,HEAD" path="*.html" type="System.Web.StaticFileHandler"/>
<add path="*" verb="*"
type="System.Web.HttpNotFoundHandler"/>
</httpHandlers>

在View中找到这个html文件,点击右键在浏览器中查看,这时没有报404,这样就能在MVC项目中的Views文件夹里访问静态文件了。

时间: 2024-10-31 21:08:01

ASP.Net MVC如何访问的静态页面的相关文章

在Asp.net MVC中访问静态页面

有时候由于一些特殊的需要,我们需要在MVC中访问HTML页面,假如您将这个页面放在Views中的话,去访问将会收到一个404,但是放在Views外面的目录则不受此限制. 那么我们就来解决View里面的HTML页面访问问题: 首先Views目录下有一个Web.config是用来管理本目录下文件的访问行为的,里面有个配置节handlers,默认是将所有的请求都指给MVC的处理引擎,那么在这里我们需要让他只处理指定的后缀,比如:.cshtml,那么该配置应该改为: <handlers> <re

Spring MVC学习-------------访问到静态的文件

如何访问到静态的文件,如jpg,js,css? 如何你的DispatcherServlet拦截"*.do"这样的有后缀的URL,就不存在访问不到静态资源的问题. 如果你的DispatcherServlet拦截"/",为了实现REST风格,拦截了所有的请求,那么同时对*.js,*.jpg等静态文件的访问也就被拦截了. 我们要解决这个问题. 目的:可以正常访问静态文件,不可以找不到静态文件报404. 方案一:激活Tomcat的defaultServlet来处理静态文件

ASP.NET MVC 5 Web编程5 -- 页面传值的方式

本篇文章将讲述MVC的页面传值方式,具体包括:后端向前端传值(Controller向View传值):前端向后端传值(View向Controller传值):Action与Action之间的传值. 回顾 我们回顾下在ASP.NET WebForms中,页面之间最常用的传值方式,有以下几种: a). QueryString(也叫URL传值) b). Session c). Cookie d). Application e). Server.Transfer 这里不再讲述这几种传值方式的用法和利弊,在本

Spring MVC如何访问到静态的文件,如jpg,js,css?

如果你的DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题.如果你的DispatcherServlet拦截"/",拦截了所有的请求,同时对*.js,*.jpg的访问也就被拦截了. 目的:可以正常访问静态文件,不要找不到静态文件报404. 方案一:激活Tomcat的defaultServlet来处理静态文件 Xml代码 <servlet-mapping>  <servlet-name>default</servlet

在nginx上部署页面,使用ip访问页面,实现跨设备访问本地静态页面

1.在nginx官网下载并安装nginx,下载链接:http://nginx.org/en/download.html. 2.修改安装包中conf文件夹中的nginx.conf的root路径,使用#将默认的路径注释掉,增加新的root路径,如下: location / { #root html; root F:/weike/dazuoye; index index.html index.htm; } 3.命令行输入ipconfig查看本机ip地址 4.在pc端或移动端浏览器输入http://xx

asp.net mvc cookie超时返回登录页面问题

filterContext.HttpContext.Response.Write("<script>top.location.href = '/Login/Index';</script>"); 在使用超时设置时在本机调试时可以返回登录页面,在本机部署也可以,但是在服务器部署后没有跳转到登录页面,报错,以前的代码如下: public class HandlerLoginAttribute : AuthorizeAttribute    {        publ

.net(C#)在vs2010版本下的MVC如何才能运行静态页面(html)

正如,我上篇写的那样,那是在测试下,我所实现的方法,但是作为WEB项目,终究要发布的,故我把发布和切换在这说一下. 据我实测,我在按照我上篇改了Views下的Webconfig文件后,在解决方案下建了个index.html文件(与Views同一级),再建了一个UI文件夹(与Views同一级)放其他的html文件.这样就可以在发布后的链接里,按正常的html的相对路径,寻找href链接了.

Asp.net MVC获取访问系统的客户端计算机的主机名和IP地址

string HostName = string.Empty; string ip = string.Empty; string ipv4 = String.Empty; if (!string.IsNullOrEmpty(System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"])) ip = Convert.ToString(System.Web.HttpContext.Current.Request.Ser

ASP.NET MVC 解析模板生成静态页一(RazorEngine)

http://www.cnblogs.com/everylittlebit/p/5425277.html http://www.cnblogs.com/yuangang/p/5464758.html