2011-11-03 10 views
6

Veribound HTML seçim denetiminde her liste öğesi için özel bir özellik oluşturmaya çalışıyorum.HTML Seçme Denetimi (.NET/C#) öğesindeki bir liste öğesine Özel Nitelik Belirleme

elde edilen HTML çıktısı aşağıdaki gibi görünmelidir: Bu gibi özelliklerini ekleyerek denedim

<select> 
<option value="1" data-value="myValue1">item</option> 
<option value="2" data-value="myValue2">item</option> 
<option value="3" data-value="myValue3">item</option> 
</select> 

, ancak render edilmiyor:

<select id="selectList" class="multiselect" multiple="true" name="selectList[]" runat="server"></select> 


ListItemCollection values = new ListItemCollection(); 

ListItem test = new ListItem("add"); 
test.Attributes.Add("data-value", "myValue"); 

values.Add(test); 

this.selectList.DataSource = values; 
this.selectList.DataBind(); 

Bunun nasıl gerçekleştirilebileceğine dair herhangi bir düşünce var mı? Teşekkürler!

cevap

11

Denetimin liste öğelerine nitelik eklemeniz gerekir. Liste kontrolünü veriye bağlama sadece & metnini yazabilir. Eğer veri bağlama sen DataBound olayı işlemek ve sonra denetim liste öğeleri üzerinde yineleme ve/set eklemek zorunda sonra kullanmanız gerekiyorsa

ListItem test = new ListItem("text1", "value1"); 
test.Attributes.Add("data-value", "myValue1"); 
applicationList.Items.Add(test); 

: Örneğin - Yani en basit yolu öğeleri elle yerine veri bağlayıcı eklemektir gerekli özellik. Açıkçası, bunu bir şeyler yapmanın bir yolu olarak buldum.

+0

Harika, teşekkürler Vinay. Veri bağlamadan vazgeçmem ve bunun yerine öğeleri doğrudan eklemem mümkün değildi. :) – kirkyoder

İlgili konular