您的位置:首页 > 编程语言 > ASP

Asp.Net基于动态页面的静态页面实现

2012-05-18 17:29 441 查看
出处:http://hi.baidu.com/%BA%EC%C3%F1/blog/item/68025ee7807f972cb83820fb.html

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


}




}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: