您当前的位置:KKBlog > 学无止境 > MVC

MVC中路由添加.html等后缀时报错的解决方法

在MVC中配置路由如下:

routes.MapRoute(
            name: "Article",
            url: "{controller}/{action}/{id}.html",
            defaults: new { controller = "Article", action = "Detail", id = UrlParameter.Optional }
             );

但是运行时,发现报错,提示无法找到该文件。原因是因为没有在IIS中把html后缀映射为由.NET框架处理程序来处理,所以你再怎么改路由也没用,因为IIS不会把这些文件交给你处理。aspx后缀就是在IIS中做了映射,所以如果路由中的.html改成aspx的话,程序就可以正常运行。


解决方法

在程序的web.config文件的 <system.webServer>节点下添加这句话:<modules runAllManagedModulesForAllRequests="true" />即可。

 
二维码
意见反馈 二维码