从URL读取ID并创建一个新ID

时间:2011-06-13 12:11:37

标签: c# asp.net

在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+)运行,我该如何编写最佳优化代码?

6 个答案:

答案 0 :(得分:2)

如果可能,请使用URLRouting或使用HTTPHandler/HTTPModule ............

这是msdn上的链接:URL Rewriting in ASP.NET

答案 1 :(得分:1)

您可以通过创建自定义httpmodule来处理请求并重写网址

来实现

请参阅此URL Rewriting in ASP.NET

答案 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)

您可以使用

来使用HttpModules
context.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中配置它以避免额外的代码。