我有一个MVC应用程序,并使用路由/ Controller / Action / Id
的标准routeconfig我希望它另外捕获/Controller/Action.html
作为网址,同时也指向/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
答案 0 :(得分:2)
在web.config中
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
...
</system.webServer>
答案 1 :(得分:1)
如果您设置以下路线,它将起作用:
routes.MapRoute("routeWithHtmlExtension",
"{controller}/{action}.html",
new {controller = "Home", action = "Index" }
);