尝试在前面放一个“http://”。
IE
<a href="http://www.exx.com" target="_blank">AnnualBudget</a>
“www”不是协议/方案。HTTPS 或HTTP是协议。
绝对 URL 必须在前面有一个“方案”,请参阅Wikipedia 上有关 URL 的详细信息。
或者,这也可以:
<a href="//www.exx.com" target="_blank">AnnualBudget</a>
更新1:
既然您评论说您的输入来自用户,让我添加这个:
(虽然这指的是SQL 注入,但对于所有用户输入也是如此)。
更新 2:
要检查绝对 URL 的输入,请执行以下操作:
// Read from user input, e.g. (WebForms syntax!):
string my = MyTextBox.Text.Trim();
// Do some checking (this has be done much more thoroughly in real-life!)
if ( !my.StartsWith("http://") && !my.StartsWith("https://") )
{
my = "http://" + my;
}
// Do something with "my", e.g. (again, WebForms syntax only):
MyHyperLink.NavigateUrl = my;
(请注意,我不是 MVC 专家,上面的伪代码使用了 WebForms 语法)