当前位置: 移动技术网 > IT编程>开发语言>.net > MVC 伪静态路由、MVC路由配置,实现伪静态。

MVC 伪静态路由、MVC路由配置,实现伪静态。

2018年12月13日  | 移动技术网IT编程  | 我要评论

曼扎城堡红葡萄酒,江西抚吉高速公路网,湖北石首

前段时间,研究了一下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: "",
defaults: new { controller = "home", action = "index", id = urlparameter.optional }
);

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

 还是报错:

  第二步: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项目。

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网