Domanda

ho una DropDownList popolata da una query LINQ. Come per i requisiti di progettazione di questo progetto, ho bisogno di aggiungere 4 "" per ListItem.Text del DDL.

Funziona quando aggiungo le ListItems manualmente in questo modo:

<asp:ListItem Value="NULL">&nsbp;&nsbp;&nsbp;&nsbp;Select One</asp:ListItem>

ma non quando ho DataBind () ed impiego:

DataTextFormatString = "&nsbp;&nsbp;&nsbp;&nsbp;{0}";

Ogni aiuto è apprezzato.

E: Prima che qualcuno dice qualcosa circa il codice HTML, ho dovuto chiamare un "& nsbp;" dal momento che non mi avrebbe permesso di uso non infrangere il codice dello spazio char.

Grazie!

È stato utile?

Soluzione

L'unica cosa che mi viene in mente di fare è sottoclasse il controllo DropDownList e sovrascrivere il metodo Render e vedere se non è possibile aggirare il taglio che il controllo DropDownList di base sta facendo sulla sua collezione di oggetti.

Se sub-classing è troppo lavoro, quindi utilizzare un po 'di lato client codice Javascript per aggiornare quei pezzi su di caricamento della pagina. Questo sarebbe un gioco da ragazzi con JQuery. Mi auguro che aiuta.

Altri suggerimenti

DropDownList ddl = new DropDownList();
ddl.Items.Add(new ListItem(Server.HtmlDecode("& n b s p;&n b s p ;& n b s p ;&n bs p;abc"), "abc"));

Spero che questo aiuti!

Nota: rimuovere gli spazi tra i caratteri ..

I've had a look at this and I don't think it is possible to get the 'out of the box' dropdownlist control to do what you are wanting it to do.

The problem is that any text values you bind to the control will automatically be html encoded. This means that '&nbsp;' will always be converted to '&amp;nbsp;'. This happens whether you add the '&nbsp;' to the text values in your data source before binding it to the control or via the DataTextFormatString property.

I expect this is done to avoid rogue html breaking the control once it is rendered to the page.

I think James' suggestion of some kind of custom control is probably your best way to get the functionality your looking for.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top