mvc路由参数注解

 routes.IgnoreRoute("{resource}.axd/{*pathInfo}");  //过滤掉禁止访问的路由      
  routes.MapRoute(
                name: "Default",//本条路由的名称,如果指定,则每条路由名称应唯一,也可以放空不填
                url: "{controller}/{action}/{id}",//指的是url的格式,如product/123,表示是的编号为123的产品的详细信息,还可以再加复杂点,如/product/{category}/{id},表示"产品/类别/编号"
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }//设置默认值及限制,可以使用正则表达式
           constraints:new {id=@"d+" },//用来限定每个参数的规则或Http请求的类型.constraints属性是一个RouteValueDictionary对象,也就是一个字典表,
           namespaces:new string[] { "NamePace.Web.Controllers.Website" }//可以指定不同的area
                

            );
//路由可以配置多条,并且按顺序执行,在前面的优先级较高

defaults详细使用:

  routes.MapRoute(
                name: "Default",//本条路由的名称,如果指定,则每条路由名称应唯一,也可以放空不填
            url: "{controller}/{action}/{id}",
                defaults:  new { controller = "U", action = "UQA", id = @"d+" },//默认的controller,action  id只能为整数
               namespaces:new string[] { "NamePace.Web.Controllers.Website" }//可以指定不同的area
                

            );

constraints详细使用:

routes.MapRoute(
       name:"Default",                   
        url:"{controller}/{action}/{id}",            
        
defaults:new { controller = "Home", action = "Index", id = "" },          constraints:new { controller = @"d{4}" , httpMethod = new HttpMethodConstraint( "GET" ) }//限制一条路由规则只能处理GET请求,contoller必须为4位的整数       );
原文地址:https://www.cnblogs.com/daxiongblog/p/4347328.html