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
            }
        }

作者: 独孤伤   发布时间: 2011-05-22