使用anchor tag helper,我们如何在新的浏览器窗口选项卡中打开ASP.NET Core MVC View
。我尝试了以下操作,但首先它抱怨target
属性也需要href
属性。但是,正如我们所知,我们无法在asp-action
中使用带有MVC Core
属性的href属性;否则我们会得到如下所示的错误。 注意:我已经看到了一些像t his one这样的建议,但它们与标签助手无关:
<a asp-action="testAction" href="#" target="_blank">Click Here</a>
错误:
InvalidOperationException:无法覆盖&#39; href&#39;属性 。带有指定&#39; href&#39;必须没有属性开始 使用&#39; asp-route - &#39;或者是'asp-action&#39;,&#39; asp-controller&#39;,&#39; asp-area&#39;, &#39; asp-route&#39;,#asp; protocol&#39;,&#39; asp-host&#39;或&#39; asp-fragment&#39;属性。
答案 0 :(得分:6)
我不确定你是在问一个问题,还是在分享你的发现?
正如@Mohamed Rozza在评论中提到的那样,如果您忽视,只有在target
出现时才允许有关href
属性的Visual Studio警告,那么您将会快速意识到超链接实际工作并在新选项卡中打开。无论Visual Studio抱怨如何。
正如您所指出的,还有一种替代/解决方法,您可以像这样创建链接:
<a href="@Url.Action("testAction","Home")" target="_blank">Click Here</a>
但是,正如您所说,这种方法与标签助手无关。那么呢?
我的问题是这些:
你有两个可以完成任务的工作示例。
这两种方法都不是坏/坏。如果由于某种原因你不得不编写自己的自定义标签助手来克服这个问题......那么请务必继续!
如果您希望向Microsoft报告一个错误,指出没有href的标记助手不支持目标属性,那么请务必继续!
最后,如果我不理解需要100%标签助手相关(或者如果我过度简化那些东西)那么无论如何,请随意分享,因为我们可能提供更好的选择。