我正在使用MapPageRoute
制作到网页的路线,这很好用。不过,我希望页面滚动到底部,以显示ID div
的某个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" });
答案 0 :(得分:2)
我想我自己找到了最合适的解决方案。这个答案可供讨论。
string url = Page.GetRouteUrl("Topics", new { ID = 1, name = "title" });
Response.Redirect(url + "#bottom");
答案 1 :(得分:0)
您将无法使用Response.RedirectToRoute()
重定向到锚点。在您提供的代码中,routeUrl
参数包含#bottom
锚点。 anchor标记不属于routeUrl
,因为routeUrl
是用于匹配传入请求的表达式。并将#bottom
锚附加到第三个参数:physicalFile
将不起作用,因为,正如参数名称所示,您指定的是Web服务器上的文件名,而不是URL。
为什么不使用好的'Response.Redirect()
?
Response.Redirect("onderwerpen/1/title#bottom");