1

我有一个 MVC 应用程序,并且正在使用路由 /Controller/Action/Id 的标准 routeconfig

我希望它另外捕获/Controller/Action.html为 url 和指向/controller/action也。

我正在使用一个我无法控制的 jquery 库,并且一个函数需要一个指向网页或图像的 url。但是,它似乎不理解没有扩展名(.html、.php 等)的结尾是指向 html 的链接并引发错误。

编辑:我按照以下评论者的建议进行了尝试,但似乎仍然无法正常工作。这是我的路线配置。

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute("routeWithHtmlExtension",
            "{controller}/{action}.html",
            new { controller = "Home", action = "Index" }
        );

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }
}

这个网址有效:

 http://localhost:14418/Album/Test

这个没有:

 http://localhost:14418/Album/Test.html
4

2 回答 2

2

在 web.config

<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
...
</system.webServer>
于 2014-01-08T15:06:18.603 回答
1

如果您设置以下路线,它将起作用:

routes.MapRoute("routeWithHtmlExtension",
    "{controller}/{action}.html",
    new {controller = "Home", action = "Index" }
);
于 2013-01-24T01:25:16.143 回答