基于动态页面的静态页面实现

  只需要在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 ;
                }


            }
                        
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值