3

MapPageRouteページへのルートを作成するために使用していますが、これは正常に機能します。divただし、ページを一番下までスクロールして、特定の idを表示したいと思いますbottom。次のルートを作成しようとしましたが、ハッシュが URL でエンコードされているため、ページが下にスクロールしません。

RouteTable.Routes.MapPageRoute("Topics", 
 "onderwerpen/{ID}/{name}#bottom", 
 "~/TopicPage.aspx"
);

結果:

mydomain/onderwerpen/1/title%23bottom

このように呼び出されたとき:

Response.RedirectToRoute("Topics", new { ID = 1, name = "title" });
4

2 に答える 2

2

私は自分で最も適切な解決策を見つけたと思います。この回答は議論の余地があります。

string url = Page.GetRouteUrl("Topics", new { ID = 1, name = "title" });
Response.Redirect(url + "#bottom");
于 2012-04-30T09:37:12.340 に答える
0

を使用してアンカーにリダイレクトすることはできませんResponse.RedirectToRoute()。提供したコードでは、routeUrlパラメーターに#bottomアンカーが含まれています。アンカー タグは、着信要求との照合に使用される式でrouteUrlあるため、属していません。また、アンカーを 3 番目のパラメーター: にrouteUrl追加しても機能しません。パラメーター名が示すように、URL ではなく Web サーバー上のファイルの名前を指定しているためです。#bottomphysicalFile

古き良きを使用しないのはなぜResponse.Redirect()ですか?

Response.Redirect("onderwerpen/1/title#bottom");
于 2012-04-29T14:29:19.607 に答える