En iyi yanıtlayıcılar
Asp.net te radio buton oluşturma

Soru
-
Asp.net ile bir tane test sitesi tasarlalıyorum. Veri tabanında soru c1,c2,c3,c4,c5 alanları var. birde doğru cevabı kontrol etmek için dogru diye bi alan var. Admin istediği kadar soruyu girebiliyor. Ama test listelenirken sorunun label nesnesine şıklarında 5 tane radiobutona sıralanması gerekiyor. mesela 10 soru varsa bunu 10 kere tekrar etmesi lazım. Nasıl yapılabileceği hakkında fikri olan varmı acaba?
Yanıtlar
-
Tek tek değerlerini almanıza gerek yok. GridView'in Row Collectionuna foreach döngsü yazın, döngü içinde;
((RadioButtonList)item.FindControl("radioButtonList1")).SelectedValue
ile seçilen value lara ulaşabilirsiniz. Tabi bunun için RBL nin DataValueField lerine Cevap id lerini vermiş olmanız gerekiyor. Ayrıca PostBack olduğunda dataları tekrar doldurmadığınızdan emin olun.e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Yanıt Olarak İşaretleyen Ali Rıza İnceoğlu 31 Aralık 2012 Pazartesi 07:30
Tüm Yanıtlar
-
Selamlar;
Soruları Repeater ile listeleyin, Repeaterin ItemTemplate içine RadioButtonList kontrolü koyun. Repeater in DataBound Eventinde RadioButtonList'e soru id'sine göre süzülmüş DataSource atayın;
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Yanıt Olarak Öneren ulusoyy 27 Aralık 2012 Perşembe 08:41
-
-
-
Cevabınız için teşekkür ederim ama beceremedim :(
datalist içerisine veri çekmede sıkıntı yok. örneğin 10 tane soru çekiyorum. her bir soruda 4 şık olduğundan ortalama 40 tane radiobutton oluyor. Bunların tek tek kontrol edilip seçili olanların text değerini almam lazım.
-
Tek tek değerlerini almanıza gerek yok. GridView'in Row Collectionuna foreach döngsü yazın, döngü içinde;
((RadioButtonList)item.FindControl("radioButtonList1")).SelectedValue
ile seçilen value lara ulaşabilirsiniz. Tabi bunun için RBL nin DataValueField lerine Cevap id lerini vermiş olmanız gerekiyor. Ayrıca PostBack olduğunda dataları tekrar doldurmadığınızdan emin olun.e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Yanıt Olarak İşaretleyen Ali Rıza İnceoğlu 31 Aralık 2012 Pazartesi 07:30