首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

ASP.NET MVC的路由有关问题

2013-09-06 
ASP.NET MVC的路由问题在ASP.NET MVC中,global.asax中,都会有路由的配置。public void RegisterRoutes(Rout

ASP.NET MVC的路由问题
在ASP.NET MVC中,global.asax中,都会有路由的配置。
public void RegisterRoutes(RouteCollection routes)中,routes.MapRoute与routes.Add两个方法有什么不一样的地方?各自的作用是什么?
[解决办法]

引用:
有这样一段代码,不知道啥意思
routes.MapRoute(
                "ChangeLanguage",
                "ChangeLanguage/{id}",
                new { controller = "Home", action = "ChangeLanguage" },
                null,
                new string[] { Namespace }
            );

            RouteValueDictionary defaults = new RouteValueDictionary();
            RouteValueDictionary constraints = new RouteValueDictionary();
            RouteValueDictionary tokens = new RouteValueDictionary();

            defaults.Add("controller", "home");
            defaults.Add("action", "index");
            defaults.Add("data", string.Empty);
            constraints.Add("data", @"[a-zA-Z0-9\-]*");
            tokens.Add("namespaces", new[] { Namespace });
            tokens.Add("pageId", 0);

            routes.Add(new Route("", defaults, constraints, tokens, new MyRouteHandler()));


比如
http://www.abc.com/home/ChangeLanguage/zh-cn //zh-cn满足[a-zA-Z0-9\-]*这个正则表达式(包含数字、字母和-号),被匹配到data参数中。而默认,data为""(string.Empty)

热点排行