tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
1106
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Eroli Eroli ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Beiträge
    224
    Hallo zusammen,

    ich habe ein Problem mit ASP.NET und Zeilenumbrüchen.
    Und zwar habe ich eine TextBox mit multiline=true und dort können die User nun etwas mehr Text - auch mit Zeilenumbrüchen - schreiben. Dieser Text wird dann als in einer Microsoft SQL oder MySQL Datenbank als gespeichert. Ich hatte das Problem schon mit MS SQL und benutze nun MySQL. Dort wird dieser String nun als TEXT gespeichert.


    Wenn ich den Text nun ausgeben will, mache ich das so.
    Code csharp:
    1
    
    Label.Text=(string)DataReader.GetString(0);
    Und hier ist mein Problem (oder auch schon früher). Die Zeilenumbrüche verschwinden einfach.
    Ich weiß nicht wo genau, ob schon beim speichern in der Datenbank oder beim abrufen aus dieser, die Zeilenumbrüche sind weg.
    Oder sind Labels nicht "fähig" Zeilenumbrüche darzustellen?

    Testweise hab ich einen Label den Text "Test\n Test" zugewiesen, aber auch hier war kein Zeilenumbruch.

    Habt ihr ideen?

    Viele Grüße,
    Roland


    PS: Ich würde den Text nur ungern erst in byte konvertieren und dann so in der Datenbank speichern, da mir das die gesamte Wartung erschwert!
     

  2. #2
    Harass Harass ist offline Mitglied Bronze
    Registriert seit
    Mar 2007
    Beiträge
    38
    Servus,

    das liegt daran, dass der Browser Zeilenumbrüche im HTML-Code als Leerzeichen darstellt. (Schau mal in den vom Browser angezeigten Quellcode, da wird der Text sicherlich mit Zeilenumbruch geschrieben)

    Da ein Label ein Server-Control ist, was vom IIS in ein span-tag umgewandelt wird, musst du in dem Label-Text die "\n"s in "<br />"s umwandeln
    Code csharp:
    1
    
    Label.Text = Label.Text.Replace("\n", "<br />")
    und schon funktionierts.

    Grüße, Martin
    Geändert von Harass (07.08.07 um 21:03 Uhr)
     
    Grüße, Martin
    ----------------------------------------------------------------------------
    Student of computational visualistics at University of Koblenz

  3. #3
    Eroli Eroli ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Beiträge
    224
    Ok, das wäre super.

    Und wenn mein User nun einen Zeilenumbruch macht, wird der dann auch direkt als \n gespeichert?
     

  4. #4
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Ja wird er
    Höchstwahrscheinlich sogar \n\r. Was aber kein weiteres Problem darstellen sollte.
    Das kannst du auch ganz leicht per Debugger selbst rausfinden
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  5. #5
    Eroli Eroli ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Beiträge
    224
    Ok super, könnt ihr mir noch eine Frage beantworten?

    Ich möchte eine Shoutbox einrichten, kann ich die Labels dazu mit einem Attribut versehen, dass diese überall gleich sind?
    Oder muss ich meine Shoutboxeinträge wirklich erst in einer Datei o.ä. abspeichern und dann bei jedem PageLoad ereignis neu laden?

    EDIT:
    Achja, ihr meint es wird direkt ein "\n" erzeugt. Wieso konnte ich das nie in meiner MySQL Datenbank sehen? Dort war nie ein "\n" oder ähnliches nur Leerzeichen, wenn ich mich nicht irre...
    Geändert von Eroli (07.08.07 um 22:00 Uhr)
     

  6. #6
    Harass Harass ist offline Mitglied Bronze
    Registriert seit
    Mar 2007
    Beiträge
    38
    Bei dem ersten habe ich nicht die geringste Ahnung, was du meinen könntest, aber zu deiner zweiten Frage:
    Was auch immer du benutzt um die Einträge in deiner SQL-Datenbank anzusehen (keine Ahnung, was es bei MySQL für Tools gibt), es wandelt das als Escape-Sequenz dargestellte Steuerzeichen "\n" in einen Zeilenumbruch um, genau wie der Browser. Nur dass der Browser eben (wie gesagt) Zeilenumbrüche im HTML-Quellcode in der Ausgabe als Leerzeichen interpretiert.
     
    Grüße, Martin
    ----------------------------------------------------------------------------
    Student of computational visualistics at University of Koblenz

  7. #7
    Eroli Eroli ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Beiträge
    224
    Ok es klappt wirklich, habe es gerade getestet.

    Naja, das mit der SHoutbox werde ich wohl doch mit Datenbankanbindung machen. Danke Leute!
     

Ähnliche Themen

  1. Zeilenumbrüche
    Von son gohan im Forum CSS
    Antworten: 5
    Letzter Beitrag: 08.07.05, 22:14
  2. Zeilenumbrüche
    Von Kebb im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 12.06.05, 22:34
  3. Zeilenumbrüche
    Von philsturm im Forum PHP
    Antworten: 2
    Letzter Beitrag: 28.11.04, 13:54
  4. XML - Zeilenumbrüche
    Von Maa im Forum HTML & XHTML
    Antworten: 1
    Letzter Beitrag: 27.02.04, 11:18
  5. PHP Zeilenumbrüche
    Von DiablO im Forum PHP
    Antworten: 10
    Letzter Beitrag: 23.08.01, 09:01