2017-03-04 4 views
0

Meine Datenbank speichert den folgenden WertWie dekodieren ich einen String mit Decode

a%0Ab%0Ac 

Ich versuche, dies als% 0A zu dekodieren stellt eine neue Linie

Wenn ich Javascript verwenden, kann ich verwenden decodeURI() und es funktioniert gut, aber ich versuche, dies mit C# zur Arbeit zu kommen

die keinen Unterschied zum folgenden Zeichenfolge machen

@Server.HtmlDecode(item.Detail) 
@System.Net.WebUtility.HtmlDecode(item.Detail) 
@HttpUtility.HtmlDecode(item.Detail) 

alle diese Shows Mit

a%0Ab%0Ac 

Ich hoffe, die folgenden aus meiner Sicht Razor

a 
b 
c 
+0

Sie versuchen, eine b c Werte in einer Ansicht anzuzeigen? – dbraillon

+0

ja @dbraillon, in der cshtml-Datei. – MyDaftQuestions

+0

Sieht so aus, als benötigst du die, die du nicht versucht hast: 'HttpUtility.UrlDecode' Html Entitäten sind wie folgt kodiert:' '[Weitere Informationen hier] (https://en.wikipedia.org/wiki/Percent-encoding) –

Antwort

0

Naive Antwort, aber es funktioniert mit erreichen!

@{ 
    var toDecode = "a%0Ab%0Ac"; 
    var decoded = toDecode.Replace("%0A", "<br>"); 

    @Html.Raw(decoded) 
} 
+0

Warum ein Downvote? – MyDaftQuestions

+1

Wahrscheinlich zu naive Antwort :( – dbraillon

1

Sie können dekodieren %0A mit UrlDecode Methode von HttpUtility. Dann können Sie neue Zeile mit Ihrem benutzerdefinierten Zeilenumbruch ersetzen (in Ihrem Fall HTML-Tag)

string decodeValue = HttpUtility.UrlDecode(input).Replace("\n", "<br>"); 
+1

ODER [verwenden Sie die richtige HTML-Codierung] (https://msdn.microsoft.com/en-gb/en-en/library/73z22y6h (v = vs.110) .aspx) und nehmen Sorge für andere Sonderzeichen auch ... –