我在webforms应用程序中使用asp.net路由,我需要将新网址和旧网址映射到同一路径。
本地主机/博客/?金融识字效能
本地主机/博客/金融识字效能
旧版网址在查询字符串前面有一个问号,路由/ {slug}没有提取问题。
我尝试过这样的事情没有运气
routes.MapPageRoute("blog-slug", _
"blog/?{slug}", _
"~/blogArticles/Default.aspx")
这可能吗? 提前谢谢。
答案 0 :(得分:0)
默认情况下,路由后不会接受任何内容?作为页面的一部分被路由到定义为?将查询字符串与URL中的资源分开。可能有效的一种方法是
routes.MapPageRoute("blog-slug", _
"blog/", _
"~/blogArticles/Default.aspx")
但是,“金融知识 - 效能”价值将成为一个关键,因为它是?x not?slug = x。但是,由于这是遗留URL,因此可能已经存在一些代码,它们会检查查询字符串中的键而不是值,因为大多数动态webforms遗留URL看起来像是
blog/?slug=x
然后他们检查Request.Querystring [“slug”]。如果这会给您带来麻烦,您需要在问题中提供更多信息。