【分布式系统框架教程】-分布式框架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路由设置的使用方法大概就是这些,其他详情可以看源码。
|