Εμφάνιση παραγράφων σε ένα label control

Πληροφορίες σχετικές με την ASP, ASP.NET και με τις εφαρμογές που είναι γραμμένες με αυτήν.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
gpoul
Δημοσιεύσεις: 7
Εγγραφή: 18 Φεβ 2009 11:41

Εμφάνιση παραγράφων σε ένα label control

Δημοσίευση από gpoul » 12 Μαρ 2009 23:18

Πως μπορώ να εμφανίσω παράγραφους σε ένα label control απο κείμενο που προέρχεται απο βάση δεδομένων με την χρήση ASP/MSSQL?

Άβαταρ μέλους
dt008
Δημοσιεύσεις: 90
Εγγραφή: 29 Ιουν 2003 01:54
Τοποθεσία: Αθήνα
Επικοινωνία:

Εμφάνιση παραγράφων σε ένα label control

Δημοσίευση από dt008 » 17 Μαρ 2009 13:48

μια απλή λύση είναι να βάλεις τα απαραίτητα html tags μέσα στο κείμενό σου (π.χ. <br />, <p> κ.λ.π.)

Μια άλλη λύση θα ήταν να βάλεις ένα συγκεκριμένο width στο label σου. Το text που θα του δώσεις δεν θα ξεπεράσει αυτό το width, οπότε και θα αλλάζει γραμμή από μόνο του.

gpoul
Δημοσιεύσεις: 7
Εγγραφή: 18 Φεβ 2009 11:41

Εμφάνιση παραγράφων σε ένα label control

Δημοσίευση από gpoul » 18 Μαρ 2009 21:22

δεν θελω απλα να αλλαξει γραμμή αλλά παράγραφο. Για παράδειγμα όταν έχω στην ΒΔ (mssql) ενα πεδίο με μεγάλο κείμενο σε παραγράφους, όταν προσπαθώ να το εμφανίσω στην σελίδα με την βοήθεια label τότε το κείμενο αλλάζει μεν γραμμές αλλά είναι συνεχόμενο χωρίς παραγράφους δηλαδή ένα συνεχόμενο string. Αν χρησιμοποιήσω textbox τοτε εμφανίζεται το κείμενο σε παραγράφους αλλα εμφανίζονται και οι μπάρες κύλισης κατι που δεν θέλω. Αν παλι χρησιμοποιήσω το <p> τοτε θα έχω μια παράγραφο.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Εμφάνιση παραγράφων σε ένα label control

Δημοσίευση από dva_dev » 19 Μαρ 2009 00:50

Βάλε ένα "<p>" στην αρχή, ένα "</p>" στο τέλος και ενδιάμεσα ότι αλλαγές γραμμής βρείς από τη βάση κάντες αντικατάσταση με "</p><p>", και όλο μαζί βάλτο στο label.

gpoul
Δημοσιεύσεις: 7
Εγγραφή: 18 Φεβ 2009 11:41

Εμφάνιση παραγράφων σε ένα label control

Δημοσίευση από gpoul » 19 Μαρ 2009 09:01

δοκίμασα αυτά:

lblResult.Text = txtEntry.Text.Replace ("\r\n","<p>")
lblResult.Text = txtEntry.Text.Replace ("\n","<p>")
lblResult.Text = txtEntry.Text.Replace ("\r","<p>")

αλλά δεν δούλεψε. Απο ότι κατάλαβα δεν διαβάζει σωστά την αλλαγή γραμμής με το \r\n.

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

Εμφάνιση παραγράφων σε ένα label control

Δημοσίευση από dimsis » 19 Μαρ 2009 09:37

... ή στο css σου label { display: block;} και ακόμα πιο σωστά, βάλτο μόνο για το συγκεκριμένο div ώστε να μη ισχύει γενικώς για όλα τα labels της εφαρμογής σου... δηλαδή κάτι του στυλ div.tade label{display:block;}

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Εμφάνιση παραγράφων σε ένα label control

Δημοσίευση από dva_dev » 19 Μαρ 2009 13:50

Ανοίγεις παράγραφο με <p> ενδιάμεσα αλλά δεν την κλείνεις πουθενά. Επίσης η πρώτη παράγραφος δεν ανοίγει ποτέ.
Δοκίμασε κατι τέτοιο:

Κώδικας: Επιλογή όλων

        lblResult.Text = htmlize&#40;txtEntry.Text&#41;;

Κώδικας: Επιλογή όλων

        protected string htmlize&#40;string src&#41;
        &#123;
            return "<p>" +
                   src.Replace&#40;"\r\n", "</p><p>"&#41;
                      .Replace&#40;"\r", "</p><p>"&#41;
                      .Replace&#40;"\n", "</p><p>"&#41; +
                   "</p>";
        &#125;
[/code]

gpoul
Δημοσιεύσεις: 7
Εγγραφή: 18 Φεβ 2009 11:41

Εμφάνιση παραγράφων σε ένα label control

Δημοσίευση από gpoul » 19 Μαρ 2009 23:16

Το βρήκα!! το παρακάτω είναι αρκετό:

Κώδικας: Επιλογή όλων

lblResult.Text = txtEntry.Text.Replace &#40;vbCrLf, "<p>"&#41;
Δεν χρειάζεται να ανοίξω και κλείσω τα <p> (κανονικα πρέπει). To vbCrLf ισχύει για την VB που χρησιμοποιώ.
Σας ευχαριστώ όλους για τις απαντήσεις σας!

Απάντηση

Επιστροφή στο “ASP, ASP.NET”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες