在HTML.Raw中显示HyperLink

时间:2016-04-06 16:55:52

标签: asp.net-mvc razor hyperlink

我在一些详细视图中使用HTML.Raw - 因此文本输出显示任何回车符或空格。但是,有时某人可能会在文本中间键入Web地址。我不知道网址在文本中的位置。我怎样才能得到它以便网址显示为超链接?

我在搜索中找到的唯一东西就是编码员知道网址的位置。这是一个例子(加上它很老)。 ASP.NET MVC3 link with image inside @Html.Raw

仅供参考,这是一个帮助人们为他们的问题打开门票的服务台系统。有时他们可能会说他们无法访问http://nameofwebsite.com或类似的东西。

这是我的代码:

@Html.Raw(Model.Note.Replace(Environment.NewLine, "<br/>"))

1 个答案:

答案 0 :(得分:0)

您可以在填充模型时使用正则表达式,甚至可以在视图中使用正则表达式来“链接”超链接。

以下是正则表达式的示例(从this answer无耻地被盗):

var html = Regex.Replace(html, @"^(http|https|ftp)\://[a-zA-Z0-9\-\.]+" +
                     "\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?" +
                     "([a-zA-Z0-9\-\._\?\,\'/\\\+&amp;%\$#\=~])*$",
                     "<a href=\"$1\">$1</a>");

然后使用Html.Raw()作为超链接进行渲染。