处理新网址和旧网址的一种方法

时间:2013-06-25 19:56:20

标签: asp.net routing routes

我在webforms应用程序中使用asp.net路由,我需要将新网址和旧网址映射到同一路径。

本地主机/博客/?金融识字效能

本地主机/博客/金融识字效能

旧版网址在查询字符串前面有一个问号,路由/ {slug}没有提取问题。

我尝试过这样的事情没有运气

  routes.MapPageRoute("blog-slug", _
                      "blog/?{slug}", _
                      "~/blogArticles/Default.aspx")

这可能吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

默认情况下,路由后不会接受任何内容?作为页面的一部分被路由到定义为?将查询字符串与URL中的资源分开。可能有效的一种方法是

routes.MapPageRoute("blog-slug", _
                    "blog/", _
                    "~/blogArticles/Default.aspx")

但是,“金融知识 - 效能”价值将成为一个关键,因为它是?x not?slug = x。但是,由于这是遗留URL,因此可能已经存在一些代码,它们会检查查询字符串中的键而不是值,因为大多数动态webforms遗留URL看起来像是

blog/?slug=x

然后他们检查Request.Querystring [“slug”]。如果这会给您带来麻烦,您需要在问题中提供更多信息。