关于Route.config文件和属性路由ASP.Net MVC

时间:2015-08-22 10:43:38

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

我们知道route在route.config文件中注册,如下所示

routes.MapRoute(
    name: "ProductPage",
    url: "{productId}/{productTitle}",
    defaults: new { controller = "Products", action = "Show" },
    constraints: new { productId = "\\d+" }
);

我们可以从路由配置文件中删除路由相关代码并实现属性路由吗?

见这个

[Route("{productId:int}/{productTitle}")]
public ActionResult Show(int productId) { ... }

我们可以使用上面的属性路由吗? 我们可以从路由配置文件中删除所有与路由相关的代码,所以我的路由配置看起来像?

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

        routes.MapMvcAttributeRoutes();
    }
}

请帮助我控制此路由问题。感谢

1 个答案:

答案 0 :(得分:0)

你当然可以,但最好在RouteConfig中保留一条默认路线,并用路线属性添加装饰其他动作方法。