如何重写查询字符串网址

时间:2013-07-21 05:07:24

标签: asp.net

需要帮助,

假设我有一个网站:http://mysite/test.aspx

我传递了一个这样的查询字符串:http://mysite/test.aspx?id=1234

如何更改地址栏中的网址:http://mysite/1234 以及如何获得1234的值?我还可以使用Request.QueryString["id"]吗?

我正在使用C#asp.net。

非常感谢你们!

2 个答案:

答案 0 :(得分:0)

只需使用Request.QueryString [“id”],如果您想将自己的网址从http://mysite/test.aspx?id=1234更改为http://mysite/1234,请执行以下操作:

如果您使用的是ASP .NET 4,请执行以下操作:

routes.MapPageRoute("",
    "mysite/1234",
    "~/mysite/test.aspx?id=1234");

如果您使用的是ASP .NET 3.5或更低版本,请尝试执行此操作:

Browser.Url = new System.Uri("http://mysite/1234", System.UriKind.Absolute);

答案 1 :(得分:0)

您需要的是URL重写。根据应用程序和URL的复杂程度,有多种方法可以执行此操作。

我几年前曾在URL重写。我们有一个复杂的系统,查询字符串值更复杂。

我使用Helicons ISAPI引擎进行重写。付费和免费版本均可使用。如果您的应用需要,请查看它。你需要写很多很多很多的RegEx。但是,整体神奇的工具。

如果您的要求很简单(即重写几页),您可以使用免费库,例如 urlrewriter ,这可能对您有所帮助,如果您想重写,可以让您的生活更轻松一次拍摄多页。

最后,重写URL非常简单易懂:从 Scott Gu 阅读本教程,您将了解自己需要做什么:

<强> http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx

如果您希望在单击带有查询字符串值的超链接时在其上生成这些漂亮的URL,您肯定必须在IIS级别工作(URL重写库将执行为你)。

我本来可以发布一些示例代码,但我认为 Scott Gu 的上述工具和教程将帮助您以更好的方式理解您需要做的事情。