Carriage Return / Neue Zeile in Textareas
Eine kleine Aufgabe: Jede neue Textzeile (Carriage Return/Wenn man Enter drückt
) in einer Textarea soll ein Element in einer Auflistung sein – wie mach ich das jetzt am einfachsten?
Eigentlich ein grundlegendes Element im Web und der Nutzer macht bewusst Absätze – daher wäre es nur gerecht, wenn man das auch entsprechend würdigt.
Kleine MVC Demo App:
Wir wollen die Eingaben in diesem Textfeld etwas näher analysieren. In meiner Variante geschieht das “splitten” auf der Server-Seite, allerdings wäre es über Javascript natürlich genauso möglich.
Nach dem OK Klick:
Der Controller nimmt den Eingabetext entgegen. Wenn der Nutzer [Enter] in der Textarea drückt, kommt als “Steuerzeichen” entweder ein \n oder \r\n mit (ich glaub das hängt mit den Betriebssystemen zusammen… lange Geschichte
)
Damit müssen wir den String nur noch bei diesen Zeichen splitten und schon können wir die einzelnen Absätze besonders behandeln:
public ActionResult Multiline(string input)
{
ViewBag.MultilineRaw = input;
List<string> eachLine = input.Split(new string[] { "\n", "\r\n" }, StringSplitOptions.RemoveEmptyEntries).ToList();
ViewBag.MultilineSplitted = eachLine;
return View("Index");
}
View:
@using(Html.BeginForm("Multiline", "Home"))
{
@Html.TextArea("input")
<button>OK</button>
}
@if(string.IsNullOrWhiteSpace(ViewBag.MultilineRaw) == false)
{
<h2>Input</h2>
<p>Raw: @ViewBag.MultilineRaw</p>
<h3>Each Line</h3>
<ul>
@foreach(var line in @ViewBag.MultilineSplitted)
{
<li>@line</li>
}
</ul>
}
Endergebnis:
Keine große Sache – aber vielleicht hilft es den einen oder anderen weiter.
Doom, Quake, Wolfenstein & co. Source Code auf GitHub
id Software, die Macher von Doom, Quake, Wolfenstein & co., stellen regelmäßig ihre älteren Spieltitle als Open Source zur Verfügung. Das Ganze runterzuladen fand ich bisher immer recht mühselig, allerdings gibt es seit kurzer Zeit die Sourcen auch auf GitHub. Darunter Spiele wie Doom 3, Quake 3, Wolfenstein für iOS. Wer also schon immer mal …
Twitter Bootstrap 2.0 released & “Release Präsentation”
Wie bereits vom Twitter Bootstrap Team angekündigt wurde offiziel die Version 2.0 des UI Toolskits “Twitter Bootstrap” veröffentlich. Zudem wurden die Slides, welche bei der Release Party gezeigt wurden auch veröffentlicht: Downloads finden sich auf der Twitter Bootstrap Seite auf GitHub.
Javascript zu Dart Translator
Dart, Google Javascript Alternative, wurde vor ein paar Monaten vorgestellt und die Webentwickler Szene ist noch etwas gespalten, ob Dart nun überflüssig ist oder einfach nur cool und längst überfällig ist. Um die Sprache näher zu erläutern hat Google die grundlegenden Javascript Basics nach Dart übersetzt. Das Ergebnis ist der “Translator”. Der Name mag momentan …
Twitter Bootstrap 2.0–“Beta”
Twitter Bootstrap, ein UI-Toolkit für Web-Applikationen von Twitter, erscheint (wie bereits berichtet) demnächst in der Version 2.0. Der offizielle Release ist am 31. Januar, allerdings beginnt jetzt laut Mark Otto (einer der Hauptentwickler von Twitter Bootstrap) die intensive Test-Phase. Das heisst, das es nun offiziel auch die 2.0 Dokumentation online gibt. Im Vergleich zur aktuellen …
Was sind RavenDB Indexes und wie kann ich diese Unit-testen?
Wer mit RavenDB arbeitet kommt automatisch zu einem sehr mächtigen Mittel: Den Indexen. Der Hauptfokus des Posts liegt hierbei auf dem Unit-Testen von RavenDB. Unit-Testing in Datenbank-Projekten ist mehr als anstrengend und zeitfressend. RavenDB lässt sich allerdings recht einfach in einen “Test” Modus versetzen, sodass die Funktionalität erhalten bleibt. Achtung: Streng genommen darf ein Unit-Test …
Git–Pull Request mergen für Anfänger
Mein Projekt “KnowYourStack.com” (Arbeitstitel war mal BizzBingo – ein detailierter Blogpost dazu folgt noch) liegt auf GitHub und ich hatte ein Problem bei dem mir Daniel Lang sehr geholfen hat. Am Ende hat er ein Fork von meinem Projekt gemacht und mir ein Pull Request eingestellt: Nun ist natürlich die Frage: Wie bekomm ich denn …
WebDev Spielwiesen: dabblet.com für HTML/CSS, jsfiddler.com für JS & Hurl.it für REST
Was früher mächtigen Desktop Apps vorbehalten war rückt immer mehr ins Web. Ich stelle hier mal drei Tools vor, welche recht praktisch für einen Webentwickler sind. Auf alle Fälle sind alle Dienste in ihrer Funktionsweise sehr cool. Spielwiese für HTML/CSS Wer mal “schnell” eine Spielwiese für CSS und HTML benötigt der sollte mal ein Blick …
Bootstrap für Facebook Apps, Vorschau auf Twitter Bootstrap 2.0 & Themes
Twitter Bootstrap ist ein UI Toolkit um schnell und einfach Web-Oberflächen zusammen zu bauen. Es gibt eine ganze Reihe an Komponenten und sogar einige Javascripts, um das Interface aufzuwerten (ähnlich jQuery UI). Die Einbindung von Twitter Bootstrap habe ich bereits hier erläutert. FBootstrap für Facebook Apps Twitter Bootstrap sieht jedoch sehr aus wie Twitter und …
Fix: The value ‘x’ is not valid for Foo in ASP.NET MVC
Um Daten in einen MVC Controller zu bekommen ist das Modelbinding von MVCeigentlich recht clever. Allerdings ist es etwas kompliziert, die Fehlermeldung zu setzen, wenn das Binding nicht geklappt hat. Bsp: public class RegisterModel { … [Required] [DataType(DataType.EmailAddress)] [Display(Name = "Email address")] public string Email { get; set; } [Required] [Display(Name = "Age")] public int …




Letzte Kommentare