还是上篇的需求,用这个方法就简单多了.
【步骤】
①在项目里建一个Test目录,再Test目录下建一个页面:AX.aspx
②在Global.asax.cs里添加Application_BeginRequest()方法的内容
③在IIS上注册.ax后缀.具体见上篇的⑤
④配置该项目的网站(具体见我前面的帖子),我机子上的本例网站名:www.rewritepath.com
⑤测试,输入以下网址
http://www.rewritepath.com/AX.ax
http://www.rewritepath.com/AX.aspx
http://www.rewritepath.com/sadfsa/sdf/AX.ax
http://www.rewritepath.com/sad/fsa/sdf/AX.aspx
实际路径
:http://www.rewritepath.com/Test/AX.aspx
测试通过,OK,Very Good!
【扩展】
ⅰ可通过正则表达式实现不同规则的URL重写
ⅱ可以使用该方法的重载方法,实现带参数的扩展
| C# |
|---|
public RewritePath ( filePath, pathInfo, queryString ) |
参数
- filePath 内部重写路径。
- pathInfo 资源的附加路径信息。
- queryString 请求查询字符串。
ⅲ本来想用该方法实现页面间跳转,结果失败了,出现错误:
无法验证数据。
但我看MSDN上有页面跳转的部分代码,不知道它怎么弄的.
【总结】
这个属于简单实用的快餐,方法本身实现页面跳转,且地址栏的URL不变,而上篇使用IHttpHandler则有些接近底层,对我们深入了解ASP.NET有好处,也可以实现更强大的功能.
【附】本文参考了URL:http://www.cnblogs.com/lgp/archive/2006/10/16/530426.html