我是 MVC 和路由的新手,我被要求修改应用程序以使用不同的 url。 由于我没有经验,这项任务对我来说有点困难。
好的,让我们谈谈代码:
routes.MapRoute(
"CategoryBySeName", // Route name
"products/{SeName}", // URL with parameters
new { controller = "Catalog", action = "CategoryBySeName" }
);
这按预期工作,但随后客户希望路径末尾有“.html”,所以我更改了:
"products/{SeName}", // URL with parameters
到:
"products/{SeName}.html", // URL with parameters
失败(IIS 404 页面 - MapRequestHandler) iis 似乎正在尝试加载具有该名称的物理文件,而不是将其传递给应用程序。
类似:ASP.NET MVC Routing to start at html page (未回答,不重复)
最佳答案
您必须强制所有请求通过 ASP.NET 管道,您可以通过仅将这一行添加到应用程序的 web.config 来实现:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
关于c# - ASP.NET MVC 路由 - 向路由添加 .html 扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9331516/