Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

saut de ligne label

4 réponses
Avatar
JOnf
Salut à tous,

Vous avez peut etre une idée de comment je pourrai faire... ya peut
etre pas de solution aussi.
je travaille sous vs2003 pour mes pages asp.net avec vb.net

sur ma page j'ai un label avec un contenu pris dans une base de données
(champ texte).
jusque là pas de probleme.

Tous les passages à la ligne (saut de ligne) sont supprimés, et donc
tout se met à la suite. vous connaissez une solution à ca ?

il y a bien la possibilité de rajouter du code HTML (br) mais il se
trouve que j'utilise le contenu du champ pour d'autres choses
(génération dans word....) qui demande du texte brut. je ne peux donc
pas ajouter les balises dans la base de données.

une idée ?

Merci

à +

4 réponses

Avatar
Blurb
JOnf wrote:

Salut à tous,

Vous avez peut etre une idée de comment je pourrai faire... ya peut
etre pas de solution aussi.
je travaille sous vs2003 pour mes pages asp.net avec vb.net

sur ma page j'ai un label avec un contenu pris dans une base de données
(champ texte).
jusque là pas de probleme.

Tous les passages à la ligne (saut de ligne) sont supprimés, et donc
tout se met à la suite. vous connaissez une solution à ca ?

il y a bien la possibilité de rajouter du code HTML (br) mais il se
trouve que j'utilise le contenu du champ pour d'autres choses
(génération dans word....) qui demande du texte brut. je ne peux donc
pas ajouter les balises dans la base de données.

une idée ?



Bonjour,

Pour ma part, j'utiliserais plutôt un Repeater avec <br> comme
SeparatorTemplate.
Avatar
Franck Quintana
Bonjour,

Je vous propose cette solution :
- Créez une classe qui hérite de Label
- Surchargez la méthode OnPreRender de votre nouvelle classe
- Dans votre méthode OnPreRender appelez une méthode qui va transformer
la propriété Text
this.Text = Enc(Text, true, true);

Voici un exemple de la méthode à appeler en C#

public static string Enc(string source, bool wrap, bool
handleCarriageReturns) {
if (source == null)
return null;

string s = ActivePlus.Web.HttpUtility.HtmlEncode(source);
if (wrap && !handleCarriageReturns)
return s;

StringBuilder oSb = new StringBuilder(s);

if (handleCarriageReturns) {
oSb = oSb.Replace("rn", "<br>");
}

if (!wrap) {
oSb = oSb.Replace(" ", "&nbsp;");
}

return oSb.ToString();
}


Franck Quintana
Active+ Software
http://www.activeplus.com
Avatar
Franck Quintana
Désolé une erreur s'est glissée dans le code.
Remplacez ActivePlus.Web.HttpUtility par System.Web.HttpUtility

Franck Quintana
Active+ Software
http://www.activeplus.com
Avatar
JOnf
Merci pour cette réponse... je vais essayer de jeter un oeil... mais
par hasard, n'auriez-vous pas en exemple en VB.net ?

peut que j'ai oublié de le préciser...

En tout cas merci

A bientot

Jonathan




Désolé une erreur s'est glissée dans le code.
Remplacez ActivePlus.Web.HttpUtility par System.Web.HttpUtility

Franck Quintana
Active+ Software
http://www.activeplus.com