2009-03-03 14 views
2

Sunucu tarafında doldurulan bir DropDownList denetimi var.asp.net - Bir ListItem metin özelliğinde html etiketleri nasıl oluşturulur?

I Her [DataRow] döngü için bir kullanım ve datarow Yeni ListItem

oluşturmak ID 'Title' ile bir sütun; Bu alan < B> veya < I> etiketlerini içerebilir. (Ex. "< yılında [Başlık] i> [Ebeveyn Başlık] </i>") Ben [DropDownList] .Controls.Add ([ListItem]) bu anlamıyla metni oluşturduğunda

Karşılıklı sorun olduğunu ... bu nedenle < B> veya < I> etiketlerini tam anlamıyla görüntüler ve yazı tipini kalınlaştırmaz.

Bir cevap için her yeri aramayı denedim, birisi bana doğru yönde işaret edebilir mi?

cevap

4

Bir dropDownList denetimi, hhtml kodunda select öğesi olarak oluşturulur ve ListItem denetimleri option öğeleri olarak oluşturulur. Bir option öğesi, metinde html biçimlendirmeyi desteklemiyor. Bazı tarayıcılar, option metninin tamamının stilini destekleyebilir, ancak hiçbir metin metnin bir kısmının stilini desteklemez.

Açılır listeden html biçimlendirmeye ihtiyacınız varsa, DHTML'yi kullanarak kendi yedek açılır liste denetiminizi yapmanız veya daha önce yapmış olan birini bulmanız gerekir.

2

Her liste öğesine stil özellikleri eklemeye çalışabilirsiniz, ancak genel olarak bunun farklı tarayıcılarda nasıl desteklendiğinden emin değilim.

ListItem li = new ListItem(dr["Name"], dr["Course"]); 
if (bold) li.Attributes.Add("style", "font-weight:bold"); 
listcontrol.Items.Add(li); 

Yeniden okuma ben Listede tek bir öğe içinde normal ve kalın metin karıştırmak istiyor fark sorunuzu. Standart açılan liste kullanılarak desteklenmediğinden neredeyse eminim. Bir açılır listeyi simüle eden CSS tabanlı bir denetim kullanmayı düşünmeniz gerekir.

+0

Ben Metin özelliğinin içindeki html etiketleri ile yazı biçimlendirme hakkında endişe duyuyorum demek, * biçimlendirme değil tüm * ListItem. Lütfen cevap vermeden önce daha dikkatli bir şekilde okuyun. –

+1

Usulüne dikkat edin. Gelecekte, size tekrar yardımcı olmaya karar vermem gerekirse, daha dikkatli okumak için * emin olacağım. –

+0

Güncelleme Mike için teşekkür ederiz; Bundan korkuyordum ...:( basit bir test işe yaramadı –

0

Kalın ve italik biçimlendirmeye sahip olmanız gerekiyorsa, açılır listeniz için yer tutucu olarak hizmet vermek üzere .net Literal denetimi kullanmanızı öneririz. Ardından, geri gönderme veya veri bağlama üzerine, sonuç kümenizde yineleyebilir, HTML kodunu manuel olarak oluşturabilir (bu karmaşık olmadığı için) ve oluşturulan HTML'yi Literal kontrolüne ekleyebilirsiniz.

+0

kendini kontrol etmek: sayesinde duyuyorum :) –

+0

listesinde ListItems bir CSS stil/kod kullanmayı deneyin gerçi çalıştıkları için. Ne yazık ki, gördüğüm şeylerin çoğu, yalnızca tüm girdiye uygulayabileceğinizi ve IE'de çalışmadığını gösteriyor. –

0

Gerçekten de bu mümkün değil.

Bazı küçük dezavantajları olmasına rağmen birkaç seçeneğiniz vardır, çünkü bunlar bir açılır liste gibi davranmazlar. Çoğu çözümde, yalnızca bir karakter yazmak yerine fareyle bir seçenek belirleyebilirsiniz. Elbette bu davranışı programlamak mümkündür, ancak bu biraz zaman ve çaba gerektirir. Bulduğum

Alternatifler şunlardır: soruma okursanız

jquery solution from marghoob suleman

jquery solution from sanchez salvador

İlgili konular