【问题标题】:Asp.net mvc routing - how to allow .html extension in mvc routingAsp.net mvc 路由 - 如何在 mvc 路由中允许 .html 扩展名
【发布时间】:2014-02-09 05:56:12
【问题描述】:

控制器名称是:TestController

动作名称是:HtmlContent

和网址:localhost:53907/en_US/Index.html

如果 url 包含 .html 扩展名,我想从 TestController 调用 HtmlContent 操作。

我已经在 HtmlContent 中放置了断点,但是如果我像上面提到的那样输入 url,它不会命中,

routes.MapRoute(
    name: "MyCustomRoute",
    url: "en_US/{pagename}",
    defaults: new { controller = "Test", action = "HtmlContent" },
    constraints: new {pagename = @".*?$(?<=\.html)" }
);

这个需求怎么写路由?

【问题讨论】:

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing


【解决方案1】:
routes.MapRoute(
    name: "MyCustomRoute",
    url: "en_US/{pagename}.html",
    defaults: new { controller = "Test", action = "HtmlContent" },
    constraints: new {pagename = @".*?$(?<=\.html)" }
);

并在 web.config 上添加代码

<add name="HtmlFileHandler" path="*.html" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />

如果有任何疑问,它对我有用。请评论

【讨论】:

    猜你喜欢
    • 2012-03-09
    • 1970-01-01
    • 2016-02-14
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    • 2019-06-26
    • 2011-10-01
    • 1970-01-01
    相关资源
    最近更新 更多