Url重写!

例如:http://www.baidu.com/view.aspx?id=1  和http://www.baidu.com/view-1.aspx  访问的页面相同; 

 

只需要全局应用程序类的Application_BeginRequest中添加如下代码:

 protected void Application_BeginRequest(object sender, EventArgs e)
        {
            
//使用正则表达式判断格式; View-12.aspx
            Regex reg = new Regex(@".+View-(\d+).aspx");
            
//获取请求的路径进行匹配
            var match = reg.Match(Request.Url.AbsolutePath);
            
if (match.Success)  //如果匹配
            {
                
string id = match.Groups[1].Value;  //获取正则表达式中的第一个id
                HttpContext.Current.RewritePath("View.aspx?id=" + id);  //重写Url
            }
        }

posted @ 2011-05-21 16:45  ゞ追忆o0ゞ  阅读(382)  评论(0编辑  收藏  举报