【问题标题】:navigating to anchor not working in razor view导航到锚点在剃刀视图中不起作用
【发布时间】:2018-03-19 21:20:17
【问题描述】:

我使用onclick="location.href='@Url.Action("Action", "Controller")#myAnchor'"生成了一个链接。

发生的情况是 url 是这样生成的:

https://url.com/#myAnchor

显然“/”是错误的,但是即使我在任何浏览器的地址栏中手动输入地址,它也会生成上述链接。

我创建了一个简单的<a href="#myAnchor">Link</a>,但它显示了相同的行为。

那么,我怎样才能生成像https://url.com#myAnchor 这样的链接来让我的视图向下滚动到给定的锚点?

【问题讨论】:

  • 如果你使用https://url.com/Home/Index#myAnchor会发生什么(假设你有一个HomeController和一个默认的Index操作)?
  • @PeterB 设置硬编码网址不是很好吗?
  • @PeterB:这样,它不会在#myAnchor 之前放置“/”,但不会滚动到它。

标签: asp.net-mvc anchor-scroll


【解决方案1】:

试试,

 onclick="location.href='@(Url.Action("Action", "Controller"))#myAnchor'"

【讨论】:

  • 感谢您的回答,这会生成与我上面提到的相同的网址。再次将“/”放在 url 的末尾,就在 #myAnchor 之前。
  • @WhoMightThisOneBe 我猜它的格式是正确的,您能否添加您的路由配置,以及您使用的控制器名称和操作名称?
  • 天哪,我很抱歉。我没有注意到我试图导航到的元素没有 id。编写视图的程序员没有设置 id,而是设置了类名。因此,导航是不可能的。虽然它现在可以工作,但仍然使用“/”生成 url。但我不在乎,只要它有效......谢谢你们!
  • @WhoMightThisOneBe 恭喜,你找到了。
  • 谢谢 ;) 但是错误创建 url 的原因可能是什么?
猜你喜欢
  • 2016-12-05
  • 1970-01-01
  • 2013-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-30
  • 1970-01-01
相关资源
最近更新 更多