【问题标题】:Getting anchor tag link to open in new tab when using tag helper使用标签助手时获取锚标签链接以在新选项卡中打开
【发布时间】:2018-03-10 10:57:26
【问题描述】:

在 asp.net-core-mvc 中使用新的标签助手

<a class="custom-social-icon" asp-area="" asp-protocol="https" asp-host="www.youtube.com/mysite" >
    <img src="~/images/youtube.gif" alt="youtube_logo" />
</a>

新标签助手中是否有允许链接在新标签页中打开的设置?因为你不能使用这种方法添加 target="_blank"。

此外,在使用标签助手和更改页面时,将鼠标悬停在图标上会在使用标准 href 方式 (www.youtube.com/mysite) 时显示正确的链接,但使用标签助手时,它会将页面路径添加到末尾网址 (www.youtube.com/mysite/Home/Contact)。如果使用标签助手,如何防止这种情况发生?

【问题讨论】:

  • 您似乎想要导航到外部站点,在这种情况下不要使用 TagHelper(用于导航到您自己站点内的页面)。只需创建普通的&lt;a&gt; 元素并设置href 属性等

标签: c# asp.net-core asp.net-core-tag-helpers


【解决方案1】:

您可以添加一个空的动作和控制器来清除路径

<a asp-action=""
   asp-controller=""
   asp-area=""
   asp-protocol="https"
   asp-host="www.youtube.com/mysite"
   target="_blank">

我在 Visual Studio 2017 中收到来自目标属性的警告

仅当存在 'href' 时才允许使用属性

但是该属性仍然被渲染到页面

但这一切似乎有点适得其反,为什么不直接使用普通的旧html

<a href="https://www.youtube.com/mysite" 
   target="_blank">

【讨论】:

  • Attribute is allowed only when 'href' is present. 这是 Razor 中的一个已知问题,正在跟踪 here。现在在这种情况下,我 100% 同意 @pariesz,如果您没有访问您网站上的控制器或操作,则无需使用 TagHelper 变体锚
猜你喜欢
  • 2018-12-12
  • 2017-06-07
  • 1970-01-01
  • 1970-01-01
  • 2012-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多