关于路由约束

  // home/print/1
        public ActionResult PRInt(int id)
        {
            return Content(" Id = "+id.ToString());
        }

        // home/prname/james
        public ActionResult PRName(string name)
        {
            return Content(" name = " + name);
        }
  routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Add", id = UrlParameter.Optional },
                constraints: new {id = @"d*" }//为{id}占位符 设置约束,必须是 数值
            );

            routes.MapRoute(
                name: "Default2",
                url: "{controller}/{action}/{name}",
                defaults: new { controller = "Home", action = "Add", name = UrlParameter.Optional },
                constraints: new { name = "[a-z]+" }//为{name}占位符 设置约束,必须是 字母
            );

            routes.MapRoute(
                name: "Default3",
                url: "{action}/{controller}/{name}",
                defaults: new { controller = "Home", action = "Add", name = UrlParameter.Optional },
                constraints: new { name = "[a-z]+" }//为{name}占位符 设置约束,必须是 字母
            );
原文地址:https://www.cnblogs.com/xiaoyangshu/p/12297724.html