2009-09-14 13 views
8

Tengo un control ASP.NET DropDownList que recupera el nombre y el apellido de una columna en la base de datos. En lugar de tener solo un espacio entre el nombre y el apellido, quiero que haya tres. ¿Cómo agrego los espacios adicionales entre las dos piezas de texto en el DropDownList?Insertar 'espacio' en un control DropDownList de ASP.NET

+0

¿Cuál es la fuente de datos? están el primer nombre y el último nombre de la tabla de la base de datos? ¿Es una sola columna o dos coulmns diferentes en una mesa? – Nirlep

+0

Viene de una tabla en una base de datos. Es una sola columna – jumbojs

Respuesta

21

Agregar & nbsp; en lugar de carácter de espacio, y HtmlDecode todos los elementos después de la unión:

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

gracias Canavar :) –

8

tenía esta misma pregunta, gracias. Sin embargo, quería ofrecer una sugerencia.

Si hay alguna posibilidad de que usted tiene un signo (&) u otros caracteres especiales en sus datos, haciendo de esta manera va a resultar en que su mirada nombre como John & amp Jane en vez de John & Jane.

Así podría ser mejor que hacerlo de esta manera:

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

posible que desee utilizar en lugar de String.Format +

Cuestiones relacionadas