Da ich ja ursprünglich von PHP herkomme, habe ich natürlich eine schöne Funktion wie nl2br() vermisst.
Da ich nichts gescheites gefunden habe, habe ich natürlich die Funktionen von C#3.0 ausgenutzt und einfach die HtmlHelper Class erweitert.
Vielleicht kann es ja wer gebrauchen.
using System.Web.Mvc; namespace MyProject.CustomExtensions { public static class MyHtmlHelperExtensions { public static string Encode(this HtmlHelper html, string text, bool convertNewLine) { if (convertNewLine) { return html.Encode(text).Replace("\n", "<br />"); } return html.Encode(text); } public static string Encode(this HtmlHelper html, object text, bool convertNewLine) { if (convertNewLine) { return html.Encode(text).Replace("\n", "<br />"); } return html.Encode(text); } } }
warum hast du denn die Methode zweimal in der Klasse? Zur Plattformkompatibilität (Mono!) würde ich dir raten, das mit einem RegExp der Form /[\r]\n//i zu machen.
Sonst hast du evtl. fälschlicherweise ein \r in der Ausgabe, was eigentlich gar nicht dahin gehört.
Weil es Encode() einmal für object und einmal für string gibt. Ich habs nur einmal gebraucht, dachte nur wegen der Vollständigkeithalber.
Werd das mit dem Regex noch mal ausprobieren 🙂
Wär ja zu schön gewesen, wenn dein regex auf anhieb klappen würde 😉