Я использую маршрутизацию веб-форм в ASP.NET 4 и пытаюсь перенаправить в определенное место на странице.На этой странице у меня есть элемент типа <div id="3">
, и я хотел бы перейти к этому якору с другой страницы.Для этой цели я определил маршрут в global.asax
:
RouteTable.Routes.MapPageRoute("MyRoute", "Path/SubPath/{PageAnchor}",
"~/MyPage.aspx", true, new RouteValueDictionary { { "PageAnchor", null } });
Гиперссылка для ссылки на эту страницу, а якорь «3» определен таким образом в разметке:
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl="<%$ RouteUrl:RouteName=MyRoute,PageAnchor=#3 %>">
Link</asp:HyperLink>
Проблема с сгенерированной ссылкой заключается в том, что символ #
в URL кодируется %23
таким образом: http://localhost:1234/Path/SubPath/%233
, так что я достигаю целевой страницы, но не на указанной привязке.
IsЕсть ли способ избежать этой нежелательной кодировки URL?Или какой-нибудь другой способ проложить маршрут до якоря?
Заранее спасибо!