苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

分布式系统框架(V1.3) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper万能框架(V2.3-含.netcore) HttpHelper官方出品,无敌框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 最牛的爬虫类,没有爬不到只有想不到 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 4821|回复: 4

[教程] 分布式框架v1.3新增routes路由重写url机制

[复制链接]
发表于 2016-2-19 17:24:14 | 显示全部楼层 |阅读模式
【分布式系统框架教程】-分布式框架v1.3新增routes路由重写url机制


导读部分



1.【分布式系统框架】教程目录帖http://www.sufeinet.com/thread-10624-1-1.html

教程部分


  
其实代码开发起来很简单,主要是在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路由设置的使用方法大概就是这些,其他详情可以看源码。


发表于 2016-5-10 11:09:42 | 显示全部楼层
发表于 2016-12-5 21:13:39 | 显示全部楼层
发表于 2017-4-22 19:09:35 | 显示全部楼层
请教下:
1、自己定义的友好url可以是xxxx.html或者其他的扩展名么。
2、实际访问的url地址文件名扩展名必须是.aspx的么?
发表于 2018-12-8 23:42:45 来自移动端 | 显示全部楼层
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备17001017号-1)

GMT+8, 2019-8-22 18:11

© 2017-2018

快速回复 返回顶部 返回列表