在Page_Load上,我必须运行代码来检查网址格式。网址可以采用以下格式:
http://www.xyzabc.com/DisplayProduct?ID=230 or
http://www.xyzabc.com/DisplayProduct?ID=230&blahblah or
http://www.xyzabc.com/S(yya4h4rf4gjh5eo4uazix2t055)X(1))/DisplayProduct?ID=230
每当网址都有ID时,我想以下列格式创建网址:
http://www.xyzabc.com/DisplayProduct?ID=<the id picked from the url>
由于代码将针对网站中的每个页面(1500+)运行,我该如何编写最佳优化代码?
答案 0 :(得分:2)
如果可能,请使用URLRouting
或使用HTTPHandler/HTTPModule
............
这是msdn上的链接:URL Rewriting in ASP.NET
答案 1 :(得分:1)
您可以通过创建自定义httpmodule来处理请求并重写网址
来实现答案 2 :(得分:1)
类似的东西:
int ID = 0;
int.TryParse(Request.QueryString["ID"], out ID);
if (ID > 0)
{
Response.Redirect(String.Format("http://www.xyzabc.com/DisplayProduct?ID={0}", ID));
}
答案 3 :(得分:0)
您可以使用
来使用HttpModulescontext.BeginRequest += context_BeginRequest;
并在context_BeginRequest中执行以下操作:
context.Response.Redirect(..)
这将是一个非常“原始”的解决方案,你有多个ASP.NET的URL重写引擎,只需检查Internet / SO这些....
答案 4 :(得分:0)
Response.Redirect("http://www.xyzabc.com/DisplayProduct?ID=" + Request.QueryString["ID"].ToString().Trim());
答案 5 :(得分:0)
使用URL重写库并在web.config中配置它以避免额外的代码。