2009-09-14 6 views
8

J'ai un contrôle ASP.NET DropDownList qui récupère le prénom et le nom d'une colonne dans la base de données. Au lieu d'avoir un seul espace entre le prénom et le nom, je veux qu'il y en ait trois. Comment puis-je ajouter les espaces supplémentaires entre les deux parties du texte dans le DropDownList?Insertion d'un 'espace' dans un contrôle DropDownList ASP.NET

+0

Quelle est la source de données? sont le prénom et le nom venant de la table de la base de données? est-ce une seule colonne ou deux coulmns différents dans une table? – Nirlep

+0

Cela vient d'une table dans une base de données. C'est une seule colonne – jumbojs

Répondre

21

Ajouter & nbsp; au lieu de caractère d'espace et HtmlDecode tous les éléments après la liaison:

string[] items = new string[] { 
    "name& nbsp;& nbsp;& nbsp;surname1", 
    "name& nbsp;& nbsp;& nbsp;surname2" }; 

ddl.DataSource = items; 
ddl.DataBind(); 

foreach (ListItem item in ddl.Items) 
{ 
    item.Text = HttpUtility.HtmlDecode(item.Text); 
} 
+0

merci Canavar :) –

8

J'ai eu cette même question, merci. Je voulais cependant offrir une suggestion.

S'il y a une chance que vous avez une esperluette (&) ou d'autres caractères spéciaux dans vos données, cette façon de faire va entraîner votre look nom comme John & ampli Jane à la place de John & Jane.

Alors peut-être préférable de le faire de cette façon:

ListItem li = new ListItem("Fname" +HttpUtility.HtmlDecode("   ") +"Lname", id); 
ddlSearchCategories.Items.Add(li); 

pouvez utiliser String.Format au lieu de +

Questions connexes