c# - ASP.NET MVC 路由 - 向路由添加 .html 扩展名

标签 c# iis-7.5 asp.net-mvc-routing

我是 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/

相关文章:

c# - 使用 C# 创建 Excel 加载项

iis - 导航到站点根目录时,我看到 IIS 启动画面

asp.net-mvc-routing - MVC5 : Attribute Routing Precedence Among Controllers

c# - MVC 属性路由 - 使用 GET 和 POST 的默认 Controller 索引

c# - 如果选择列表项,则实现 CanExecute 以启用按钮

c# - Linq to xml 后代

Asp.net "background service"在 IIS 站点停止/启动后监听 MSMQ 不工作

iis - 如何在 WiX 权限元素中指定 AppPool 标识?

asp.net-mvc-routing - 在 MVC 6 Controller 中使用 urlhelper 生成链接 (vNext)

c# - 如何获取 Queryable.Join 的 MethodInfo