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

本文关键字:ID 一个 创建 URL 读取 | 更新日期: 2023-09-27 17:58:56

在Page_Load上,我必须运行代码来检查url格式。url可以是以下格式:

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

每当url有一个ID时,我想创建一个以下格式的url:

http://www.xyzabc.com/DisplayProduct?ID=<the id picked from the url>

由于代码将为网站中的每个页面(1500+)运行,我如何编写最佳优化代码?

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

尽可能使用URLRoutingHTTPHandler/HTTPModule。。。。。。。。。。。。

以下是msdn上的链接:ASP.NET 中的URL重写

类似这样的东西:

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));
}

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

请参阅ASP.NET 中的此URL重写

您可以通过使用来使用HttpModules

context.BeginRequest += context_BeginRequest;

在context_BeginRequest中,您可以执行以下操作:

context.Response.Redirect(..)

这将是一个非常"原始"的解决方案,其中有多个用于ASP.NET的URL重写引擎,只需在Internet/SO中查看这些。。。。

 Response.Redirect("http://www.xyzabc.com/DisplayProduct?ID=" + Request.QueryString["ID"].ToString().Trim());

使用URL重写Libaray并在web.config中进行配置以避免额外的代码。