zoukankan      html  css  js  c++  java
  • 基于动态页面的静态页面实现

    只需要在Global.asax加上几行代码就行了,我们是通过捕获用户的请求,然后通过RewritePath来实现的:
    这是我程序中的一段代码,它就负责把上面的那些请求转化为真正的页面请求,
    我们是通过正则表达式来区分各种类别的请求的:

    protected void Application_BeginRequest(Object sender, EventArgs e)
            
    {                                                                        
                
    string url = Request.Url.AbsoluteUri ;
                
    string strMatch = @"http://www\.2shoushichang\.com/([^/]+)/" ;
                            
                
    string newUrl = "" ;
                
    string strCmd = SplitInfo(url,strMatch) ;
                
    if (strCmd != null)
                
    {
                    
    switch(strCmd.ToLower())
                    
    {

                        
    case "product":
                            strMatch 
    = @"/product/(\d+)\.aspx" ;
                            
    string strProductId = SplitInfo(url,strMatch) ;
                                                    
                            
    if (strProductId != null)
                            
    {
                                newUrl 
    = string.Format("..\\Product.aspx?id={0}",strProductId) ;
                                
    this.Context.RewritePath(newUrl) ;        
                            }

                            
    break ;
                                    
                        
    case "midtype"://s-100100-All-2.aspx
                            strMatch = @"/midtype/(\S+-\d+-\S+-\d+)\.aspx" ;
                            
    string strResult = SplitInfo(url,strMatch) ;
                                                    
                            
    if (strResult != null)
                            
    {
                                
    string[] strParam = strResult.Split('-') ;//MidtypeList.aspx?id=100100&city=威海&type=s&Page=3
                                if (strParam.Length != 4)
                                    
    break ;
                                
    string city = AppGlobal.GetCityNameByCode(strParam[2]) ;
                                newUrl 
    = string.Format("..\\MidtypeList.aspx?type={0}&id={1}&city={2}&page={3}",strParam[0],strParam[1],city,strParam[3]) ;
                                
    this.Context.RewritePath(newUrl) ;        
                            }

                            
    break ;                                        
                        
    case "其它处理":
                            
    break;
                        
    default:
                            
    break ;
                    }


                }
                            
            }
  • 相关阅读:
    关于策略模式和简单工厂模式的理解
    ab压力测试使用说明
    PHP AMQP扩展安装
    ELK配置说明及个人理解
    冒泡算法和快速排序算法实现和比较
    rabbitMQ PHP 链接实例
    关于长连接和短连接的理解及使用场景
    ABP框架 替换默认审计实现
    System.DllNotFoundException: Unable to load shared library 'libdl' or one of its dependencies .NET Core 图片操作在 Linux/Docker 下的坑
    docker 学习资料
  • 原文地址:https://www.cnblogs.com/wander/p/474243.html
Copyright © 2011-2022 走看看