| 【分布式系统框架教程】-分布式框架v1.3新增routes路由重写url机制 
 
 导读部分
 其实代码开发起来很简单,主要是在global文件的Application_Start方法里用RegisterRoute()这个方法注册路由,然后在这个方法里面我们设置好自己的友好的重写后url的机制,下面仅贴出RegisterRoute()方法里面的部分代码。
 
 [C#] 纯文本查看 复制代码  //注册sql版编辑用户
            routes.MapPageRoute("sqlEditUserRoute", "SqlEditUser/{id}", "~/Sql/User/AddUser.aspx", true, null, new System.Web.Routing.RouteValueDictionary { { "id", "[0-9a-zA-Z]+" } });
 相关参数说明:
 "sqlEditUserRoute":你自己起的路由名称。
 "SqlEditUser/{id}":你自己定义的友好url,其中{id}表示参数。
 "~/Sql/User/AddUser.aspx":实际访问的url地址文件。
 "new System.Web.Routing.RouteValueDictionary { { "id", "[0-9a-zA-Z]+" } }":这个方法是来给你定义的{id}参数进行一些规则的约定,这里表示参数id只能是数字或者字母。
 需要注意的是 routes.MapPageRoute方法有多个重载方法,我们可以根据需要来进行调用。
 这里设置完成之后,当你访问”/SqlEditUser/123abc“这样的url就会指向”/Sql/User/AddUser.aspx?id=123abc“,在/Sql/User/AddUser.aspx这个页面获取这个参数时需要注意,看下面获取参数的两种方法:
 
 [C#] 纯文本查看 复制代码  string userId = this.RouteData.Values["id"].ToString();//这样是正确的。设置路由后需要这样获取参数。
 string userId =Request["id"].ToString();//设置路由后这样是获取不到参数的。好了,url路由设置的使用方法大概就是这些,其他详情可以看源码。
 
 
 
 |