在Global.asax中实现URL 的重写.

 
  
1 protected void Application_BeginRequest( object sender, EventArgs e)
2 {
3 string url = Request.RawUrl.ToString();
4 if (url.ToLower().IndexOf( " page/bloglist/ " ) > - 1 && url.IndexOf( " ? " ) < 0 )
5 {
6 int lastg = url.LastIndexOf( " / " );
7 int lastdot = url.LastIndexOf( " .aspx " );
8 string nurl = String.Format( " {0}/blog.aspx?sid={1} " , url.Substring( 0 , lastg), url.Substring(lastg + 1 , lastdot - lastg - 1 ));
9 HttpContext.Current.RewritePath(nurl);
10 }
11
12 }

刚开始这段代码的意思是当请求到类似如:page/bloglist/123456789.aspx 的页面的时候,将其自动转向页面:

blog.aspx?sid=123456789 的页面.当然page/bloglist/123456789.aspx 这个页面 是实际不存在的,这也就是为什么 大家称这种方法是伪静态的原因了.

转载于:https://www.cnblogs.com/handk/archive/2011/03/22/1991408.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值