0

我有一个称为参考的页面,其中包含各种指南的所有超链接。这些引用可以通过管理面板添加。但是如果超链接不包含“http://”前缀,它会重定向到“localhost:[somePortNo]/[myHyperLink]”而不是“http://[myHyperLink]”

我使用的剃须刀代码是

<a href="@reference.HyperLink" target="_blank">@reference.HyperLink</a>

这是一个很小的问题,但我需要很长时间才能解决。

4

1 回答 1

2

这是网络浏览器的标准行为。如果 href="URL" 中的 URL 不以“http://”或“https://”或“//”开头,则假定您正在导航到当前网站上的链接。

您必须使用 http:// 或 https:// 或 // 作为前缀

你可以试试这个:

<a href="@(reference.HyperLink.StartsWith("http") ? reference.HyperLink : "http://"+reference.HyperLink)" target="_blank">@reference.HyperLink</a>
于 2013-05-01T06:28:06.660 回答