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位的整数 );