2016-04-06 64 views
1

我在一些細節視圖中使用了HTML.Raw,因此文本輸出顯示的是任何回車符或空格。但是,有時候有人可能會在文本中間鍵入Web地址。我不知道Web地址在文本中的位置。我怎樣才能得到它,以便Web地址將顯示爲超鏈接?在HTML.Raw中顯示超鏈接

我可以在搜索中找到的唯一東西是編碼器知道網址的位置。這裏是一個例子(加上它很舊)。 ASP.NET MVC3 link with image inside @Html.Raw

僅供參考,這是一個幫助臺系統,讓人們爲他們的問題打開票。有時他們可能會提出,他們不能訪問http://nameofwebsite.com或類似的東西。

這裏是我的代碼:

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

沒有理由使用'@ Html.Raw(Model.Note.Replace(Environment.NewLine,「
」))'你可以設計元素的樣式 - '

@Model.Note
' –

回答

0

填充你的模型,甚至可以在視圖爲「linkify」超鏈接助手時,您可以使用正則表達式。

這裏的正則表達式(從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()爲超鏈接。