MVC路由配置,伪静态。

前段时间,研究了一下mvc路由配置伪静态,在网上扒了很多最后还是行不通,所以我现在把这些心得整理出来,供大家分享:

1、mvc中默认路由配置是:http://localhost:24409/Home/Index

routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

2、如果要设置成以 .html结尾页面的页面,必须要从新配置路由。

第一步:

routes.MapRoute(
name: "index",
url: "index.html",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

最后按F5启动项目,浏览器中输入地址 http://localhost:24409/Home/Index

还是报错:

第二步:Webconfig文件中找到system.webServer节点下面的 modules节点、runAllManagedModulesForAllRequests值并设置value=true;

最后再重新启动项目,发现成功了。

总结:1、由于路由配置文件中设置的路由,是html结尾的静态页面文件,所以导致程序不会去处理静态文件(.html .css .js .jpeg等)的请求了。如果你将runAllManagedModulesForAllRequests设置为true,那么ASP.NET强制使所有自定义的HttpModule既处理静态文件(.html .css .js .jpeg等)请求又处理托管文件(aspx, ascx 及 MVC等)请求,默认情况下runAllManagedModulesForAllRequests是为false的。

2、还有一种原因导致不成功,大家都知道在用vs创建MVC项目时(非空项目时),项目里自带了验证、过滤方法。所以记得删除不必要的方法。最好是建一个Empty的MVC项目。

原文地址:https://www.cnblogs.com/xiasy-bk/p/10107672.html

时间: 2024-08-26 11:39:54

MVC路由配置,伪静态。的相关文章

史上最全的ASP.NET MVC路由配置,以后RouteConfig再弄不懂神仙都难救你啦~

继续延续坑爹标题系列.其实只是把apress.pro.asp.net.mvc.4.framework里的CHAPTER 13翻译过来罢了,当做自己总结吧.内容看看就好,排版就不要吐槽了,反正我知道你也不会反对的. XD 首先说URL的构造. 其实这个也谈不上构造,只是语法特性吧. 命名参数规范+匿名对象 routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new

MVC路由配置

目录 URL Routing 的定义方式 示例准备 给片段变量定义默认值 定义静态片段 自定义片段变量 自定义片段变量的定义和取值 将自定义片段变量作为Action方法的参数 指定自定义片段变量为可选 定义可变数量的自定义片段变量 路由约束 正则表达式约束 Http请求方式约束 自定义路由约束 定义请求磁盘文件路由 生成URL链接 生成指向当前controller的action链接 生成其他controller的action链接 生成带有URL参数的链接 指定链接的Html属性 生成完整的标准链

史上最全的ASP.NET MVC路由配置

MVC将一个Web应用分解为:Model.View和Controller.ASP.NET MVC框架提供了一个可以代替ASP.NETWebForm的基于MVC设计模式的应用. AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验 XD 首先说URL的构造. 其实这个也谈不上构造,只是语法特性吧. 一.命名参数规范+匿名对象 routes.MapRoute(name: "Default",url: "{controller}/{action}/{id}&q

ASP.NET MVC路由配置详解

命名参数规范+匿名对象 routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); 构造路由然后添加 Route myRoute = new Route("{contr

最全的ASP.NET MVC路由配置,以后RouteConfig再弄不懂去吃翔

原文http://www.cnblogs.com/zeusro/p/RouteConfig.html 装载注明出处,爬虫请自重. 继续延续坑爹标题系列.其实只是把apress.pro.asp.net.mvc.4.framework里的CHAPTER 13翻译过来罢了,当做自己总结吧.内容看看就好,排版就不要吐槽了,反正我知道你也不会反对的. 先说一下基本的路由规则原则.基本的路由规则是从特殊到一般排列,也就是最特殊(非主流)的规则在最前面,最一般(万金油)的规则排在最后.这是因为匹配路由规则也是

(转)ASP.NET MVC路由配置

一.命名参数规范+匿名对象 1 routes.MapRoute(name: "Default", 2 url: "{controller}/{action}/{id}", 3 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); 构造路由然后添加 1 Route myRoute = new Route(&qu

[转载]史上最全的ASP.NET MVC路由配置,以后RouteConfig再弄不懂神仙都难救你啦~

原文http://www.cnblogs.com/zeusro/p/RouteConfig.html 装载注明出处,爬虫请自重. 继续延续坑爹标题系列.其实只是把apress.pro.asp.net.mvc.4.framework里的CHAPTER 13翻译过来罢了,当做自己总结吧.内容看看就好,排版就不要吐槽了,反正我知道你也不会反对的. 先说一下基本的路由规则原则.基本的路由规则是从特殊到一般排列,也就是最特殊(非主流)的规则在最前面,最一般(万金油)的规则排在最后.这是因为匹配路由规则也是

MVC路由配置.html不能识别

在web.config里面配置 1 <system.webServer> 2 <modules runAllManagedModulesForAllRequests="true" /> 3 </system.webServer>

C#MVC路由配置 之 动态请求伪装静态Json来欺骗CND

public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "cdn", url: "style/{appVersion}/{appChannel}/{appOs}/{pageCode}/{resou