2016-04-06 14 views
1

Ich benutze HTML.Raw in ein paar Detailansichten, die ich habe - so dass die Textausgabe mit beliebigen Wagenrückläufen oder Leerstellen angezeigt wird. Manchmal kann jedoch jemand eine Webadresse mitten im Text eingeben. Ich habe keine Ahnung, wo die Webadresse im Text sein wird. Wie kann ich es bekommen, so dass die Webadresse als Hyperlink angezeigt wird?Zeige HyperLink in HTML.Raw

Die einzigen Dinge, die ich bei einer Suche finden kann, ist, wo der Coder die Position der Webadresse kennt. Hier ist ein Beispiel (plus es ist sehr alt). ASP.NET MVC3 link with image inside @Html.Raw

FYI, dies ist ein Helpdesk-System für Menschen, um Tickets für ihre Probleme zu öffnen. Manchmal geben sie an, dass sie nicht auf http://nameofwebsite.com oder etwas Ähnliches zugreifen können.

Hier ist mein Code:

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

Es gibt keinen Grund, '@ Html.Raw (Model.Note.Replace (Environment.NewLine,"
") zu verwenden)' Sie können das Element einfach stylen - '

@Model.Note
' –

Antwort

0

Sie können einen regulären Ausdruck verwenden, wenn Ihr Modell oder auch als Helfer in der Ansicht ‚Linkify‘ Hyperlinks zu füllen.

Hier ist ein Beispiel für die regex (schamlos von this answer gestohlen):

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>"); 

Dies wird machen dann Html.Raw() als Hyperlink verwenden.