Asp.net MVC3 Routing study

RouteCollectionExtensions.MapRoute 方法 (ASP.NET设置路由)

重载列表

 
 名称说明
公共方法静态成员 MapRoute(RouteCollection, String, String) 映射指定的 URL 路由。
公共方法静态成员 MapRoute(RouteCollection, String, String, Object) 映射指定的 URL 路由并设置默认路由值。
公共方法静态成员 MapRoute(RouteCollection, String, String, String[]) 映射指定的 URL 路由并设置命名空间。
公共方法静态成员 MapRoute(RouteCollection, String, String, Object, Object) 映射指定的 URL 路由并设置默认路由值和约束。
公共方法静态成员 MapRoute(RouteCollection, String, String, Object, String[]) 映射指定的 URL 路由并设置默认的路由值和命名空间。
公共方法静态成员 MapRoute(RouteCollection, String, String, Object, Object, String[]) 映射指定的 URL 路由并设置默认的路由值、约束和命名空间。
public static Route MapRoute(
	this RouteCollection routes,
	string name,
	string url,
	Object defaults,
	Object constraints,
	string[] namespaces
)


routes.MapRoute(

           "constraints", //name
          "{controller}/{action}", //url
          null, //defaults
          new { 
                       controller = @"[a-z]{4,}", //controller必须为英文字符,最少长度为4 
                       action = @"[a-z]{4,}" //action必须为英文字符,最少长度为4 
           }, //constraints
           null //namespaces
);

参数

routes
类型:System.Web.Routing.RouteCollection 应用程序的路由的集合。
name
类型:System.String 要映射的路由的名称。
url
类型:System.String 路由的 URL 模式。
  "{controller}/{action}", //url
defaults
类型:System.Object 一个包含默认路由值的对象。
constraints
类型:System.Object 一组表达式,用于指定 url 参数的值。 (正则表达式约束)
  new { controller = @"[a-z]{4,}", //controller必须为英文字符,最少长度为4
       action = @"[a-z]{4,}" //action必须为英文字符,最少长度为
  }
namespaces
类型:System.String[] 应用程序的命名空间集合。

返回值

类型:System.Web.Routing.Route 对映射路由的引用。
 
 
路由的区域注册代码示例
namespace AreasDemo
{
    public class AreasDemoRegistration : AreaRegistration
    {
        //public class AdminAreaRegistration : AreaRegistration
        //{
        public override string AreaName
        {
            get
            {
                return "AreasDemo";
            }
        }

        public override void RegisterArea(AreaRegistrationContext context)
        {
            context.MapRoute(
                "AreasDemo_default",
                "AreasDemo/{controller}/{action}/{id}",
                new { action = "Index", id = UrlParameter.Optional }
            );
        }
        //}
    }
}
 
 
原文地址:https://www.cnblogs.com/lindaWei/p/2859884.html