Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
What control can render text with carriage returns?
Message
 
À
06/11/2009 10:04:52
Information générale
Forum:
ASP.NET
Catégorie:
Autre
Versions des environnements
Database:
Visual FoxPro
Divers
Thread ID:
01433564
Message ID:
01433573
Vues:
48
>A have a field in one of my database tables that contains text with carriage returns. I need to bind this (read only) to a UI control to show these comments to the user on the page. What control or technique should I use? I tried < asp:TextBox > with a wide width and tall height, but it does honor the carriage returns.
>

Textbox should work. Did you set it's TextMode="MultiLine"? I'd also set ReadOnly="true". It will automatically HTML-encode strings as well.

This is basically just an HTML thing. Normally, CR's are ignored. You can handle this a few different ways in addition to Textbox. One would be to use the Literal control and embed your text inside of <pre> tags. Then the browser will render it as-is. ex.
this.litField.Text = "<pre" + fieldValue + "</pre";
Or, you can just transform some of the text before display by converting the CR's into a <br/> tag and using the literal control. You would want to HTML encode the text first, though.

Ex.
this.litField.Text = Server.HTMLEncode(fieldValue).Replace("\r", "<br/");
I'm sure people have other ways they handle this as well.

>Also, what is the proper data type to make this field in the table? Right now it is a type called "ntext", and I'm not even sure why it is that type. This data was given to me by the customer in Access, and I upsized it into SQL Server. I can change the type however I need to, so what is best for this case?

ntext is SQL's unicode text-type. If it's a multilingual app, that's the correct data type. Actually, the new type should be nvarchar(MAX) since text/ntext is now deprecated.
-Paul

RCS Solutions, Inc.
Blog
Twitter
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform