asp.net mvc Route路由映射.html后缀 404错误
时间: 2024-01-10 14:04:58 浏览: 145
asp.net core mvc 引入vue.js实例源码.zip
5星 · 资源好评率100%
在ASP.NET MVC中,默认情况下不支持URL中带有.html后缀,如果你想要支持这种URL格式,需要进行设置。可以通过在Global.asax.cs文件中的Application_Start方法中添加如下代码来实现:
```csharp
routes.MapRoute(
"Default",
"{controller}/{action}/{id}.html",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
```
这段代码将会把URL中的.html后缀映射到对应的Controller和Action上。但是,如果你直接访问一个不存在的.html文件时,依然会出现404错误。为了解决这个问题,你需要在Web.config文件中添加如下代码:
```xml
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*.cshtml" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
```
这段代码将会把所有的.cshtml文件都视为不存在,从而避免了404错误的发生。同时,由于我们已经设置了URL映射规则,因此即使访问的是.html文件,ASP.NET MVC依然能够正确地将其路由到对应的Controller和Action上。
阅读全文