2010-03-02 4 views
2

Je récupère les données de la base de données et les affiche sur l'étiquette. Je dois appliquer une nouvelle ligne sur le texte de l'étiquette pour chaque 35 personnages. Parce qu'après 35 charecters le texte déborde.Ajout d'une nouvelle ligne à l'étiquette

Pouvez-vous s'il vous plaît laissez-moi savoir comment faire cela.

+0

"l'étiquette"? Quel label? – spender

+0

@spender - Je suppose que le navigateur contrôle d'étiquettes ASP.NET – CodeMonkey1313

+0

oui il est l'étiquette asp.net contrôle – xrx215

Répondre

4

il suffit de changer le style de l'étiquette de sorte qu'il envelopper le texte:

style=" width:50px; overflow-y:auto;overflow-x:auto; word-break:break-all;" 

Mieux encore, mettre dans votre fichier CSS plutôt que directement sur le contrôle.

Une autre option, si vous n'aimez pas cela, est d'utiliser une zone de texte et de le styler comme une étiquette, comme décrit dans la publication this.

+0

L'utilisation de la zone de texte comme une étiquette fonctionne. Merci. – xrx215

+0

J'ai des erreurs de validation dans CSS 2.0 et 2.1. Est-ce que "word-break" CSS 3.0? – Slauma

+1

@Slauma - Oui, c'est CSS 3.0. – Oded

-1
use Environment.NewLine 
+1

ignorera, il est html – Andrey

1

Il n'y a aucun moyen de le faire, vous feriez mieux de créer plus d'étiquettes. vous pouvez ajouter <br/>, mais asp.net l'affichera. envisager de mettre une seule étiquette à l'intérieur div avec une largeur fixe, le texte devrait aller à la nouvelle ligne automatiquement.

+0

« mettre l'étiquette unique à l'intérieur div avec largeur fixe ». Simple. – Shinigamae

0
//assuming l is a label 
for (int i = 0; i < l.Text.Length; i++) 
{ 
    if (i % 35 == 0) 
    l.Text.Insert(i, Environment.NewLine) // or use "<br />" for html break since browsers ignore whitespace (except IE 6 in some cases) 
} 
1

code psuedo rapide

string s = 'value from db'; 
string s2 = ""; 
int len = s.Length; 
int i = 0; 
while (i + 35 > len) { 
    s2 += s.Substring(i, 35) + "\r\n"; 
    i+=35; 
} 
s2 += s.Substring(i, len - i); 
label.Text = s2; 

si \ r \ n ne fonctionne pas, le remplacer par < br>

0

Sur la fenêtre Propriétés, vous pouvez modifier la largeur et la hauteur de l'étiquette. Vous devez définir la taille de l'étiquette en fonction de la taille de la fenêtre et la taille du type d'étiquette doit pixel.

+0

Désolé, j'oublie de dire que vous pouvez trouver Largeur et Hauteur sur la fenêtre des propriétés et Maximumsize sous-titre .. – emre

+0

Et ce qu'il fait réellement ?? Cela change les styles pour l'étiquette. Et ceci est fait via CSS. Est-ce une bonne pratique ?? NON. POURQUOI?? comme il fait des styles intégrés dans votre ascx – Saksham

Questions connexes