MapRoute index.asp 没有路由到控制器
MapRoute index.asp not routing to controller
我有以下 MapRoute 可以工作并路由到控制器 'Hotel'
routes.MapRoute("Hotel", "en/hotels/london/victoria/my_hotel_name/",
new { controller = "Hotel", action = "Index" }, namespaces: new[] { "UrlRouter.Router.Controllers" } );
但是,如果用户在路径中输入文件名 index.asp,它不会路由到控制器,只会加载 .ASP 文件中的实际内容,这是我不这样做的不想。我希望它路由到控制器,这样我就可以控制返回给用户的内容。
我试过的路线是
routes.MapRoute("Hotel", "en/hotels/london/victoria/my_hotel_name/index.asp",
new { controller = "Hotel", action = "Index" }, namespaces: new[] { "UrlRouter.Router.Controllers" } );
经过进一步调查,我发现了以下作品。添加 web.config
<modules>
<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
然后在注册路由
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.RouteExistingFiles = true;
routes.MapRoute("Hotel", "en/hotels/london/victoria/my_hotel_name/{*.*}",
new { controller = "Hotel", action = "Index", }, namespaces: new[] { "UrlRouter.Router.Controllers" });
}
这允许我将这两个 URL 路由到我的酒店控制器和 return MVC 视图
www.mydomain.com/en/hotels/london/victoria/my_hotel_name/
和
www.mydomain.com/en/hotels/london/victoria/my_hotel_name/index.asp
如果有人有更好的建议请post您的回答。
我有以下 MapRoute 可以工作并路由到控制器 'Hotel'
routes.MapRoute("Hotel", "en/hotels/london/victoria/my_hotel_name/",
new { controller = "Hotel", action = "Index" }, namespaces: new[] { "UrlRouter.Router.Controllers" } );
但是,如果用户在路径中输入文件名 index.asp,它不会路由到控制器,只会加载 .ASP 文件中的实际内容,这是我不这样做的不想。我希望它路由到控制器,这样我就可以控制返回给用户的内容。
我试过的路线是
routes.MapRoute("Hotel", "en/hotels/london/victoria/my_hotel_name/index.asp",
new { controller = "Hotel", action = "Index" }, namespaces: new[] { "UrlRouter.Router.Controllers" } );
经过进一步调查,我发现了以下作品。添加 web.config
<modules>
<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
然后在注册路由
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.RouteExistingFiles = true;
routes.MapRoute("Hotel", "en/hotels/london/victoria/my_hotel_name/{*.*}",
new { controller = "Hotel", action = "Index", }, namespaces: new[] { "UrlRouter.Router.Controllers" });
}
这允许我将这两个 URL 路由到我的酒店控制器和 return MVC 视图
www.mydomain.com/en/hotels/london/victoria/my_hotel_name/
和
www.mydomain.com/en/hotels/london/victoria/my_hotel_name/index.asp
如果有人有更好的建议请post您的回答。