2013-07-21 129 views
2

帮助,如何重写查询字符串URL

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

和我通过这样的查询字符串:http://mysite/test.aspx?id=1234

我如何更改URL中,如地址栏这个:http://mysite/1234 和我怎样才能得到1234的价值?我仍然可以使用Request.QueryString["id"]吗?

我正在使用C#asp.net。

非常感谢你们!

回答

0

只要使用的Request.QueryString [“身份证”]如果你想从你的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); 
+0

我应该在哪写这行? browser.url –

+0

routes.MapPageRoute(“”, “mysite/1234”, “〜/ mysite/test.aspx?id = 1234”);在哪里放这条线?你会怎么称呼它?你能发布一个示例代码吗?非常感谢先生 – Lightstoner

0

你需要什么叫做URL重写。根据您的应用程序和URL的复杂性,有多种方法可以完成此操作。

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

我使用Helicons ISAPI引擎进行重写。无论是付费版本还是免费版本都可以使用。如果您的应用程序需要它,请仔细查看。尽管你需要写很多很多很多的RegEx。但是,总体令人惊叹的工具

如果你要求很简单(即以rewite几页),您可以免费使用的库如urlrewriter这可能会帮助您,让您的生活更轻松,如果你想改写为一次性多页。

在对重写URL最后,非常简单和容易的方法:从斯科特谷阅读本教程,你会明白,你需要做什么:

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

如果你想那些漂亮当你点击带有查询字符串值的超链接时,它自己生成的URL,你一定要在IIS级别工作(URL重写库会为你做)。

我本来可以发布一些示例代码来做到这一点,但我认为从Scott Gu上述工具和教程将帮助您了解您需要做什么,并以更好的方式。