none
Datalistte dinamik oluşturulmuş seçili radiobuttonun değerini alma RRS feed

  • Soru

  • Merhaba arkadaşlar;

    Veritabanından gelen verileri Datalist içinde dinamik oluşturulmuş radiobutton kontrolünün text özelliğine atıyorum.

    Fakat şöyle bir sorun var;formu iletirken seçili radiobuttonun değerini nasıl alabilirim?

    Dipnot:Aynı anda birden fazla radiobuttonun seçimini engelledim.

    İyi çalışmalar.

    16 Ağustos 2012 Perşembe 20:53

Yanıtlar

  • Merhaba RecepEroglu;

    Çoklu RadioButton Seçiminin Önüne Geçtiğini Varsayarak ki öyle olduğunu söylemişsin

    aspx sayfandaki DataList için code (Benim Örneğim)

    Datalist içinde ID si rdb olan RadioButton (lar) oluşturdum

    <asp:DataList ID="DataList1" runat="server" DataKeyField="CalisanID" DataSourceID="SqlDataSource1">
                <ItemTemplate>
                    <asp:RadioButton ID="rdb" Text='<%# Eval("Ad") %>' runat="server" />                
                </ItemTemplate>
                <AlternatingItemTemplate>
                    <asp:RadioButton ID="rdb" Text='<%# Eval("Ad") %>' runat="server" />
                </AlternatingItemTemplate>
            </asp:DataList>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:KuzeyYeliConnectionString %>"
                SelectCommand="SELECT [CalisanID], [Ad] FROM [Calisanlar]"></asp:SqlDataSource>
            <asp:Button ID="Button1" Text="text" runat="server" OnClick="Unnamed1_Click" />

    aspx.cs Sayfandaki codelar ise şu şekilde olacak (Button yardımı ile yakaladım ben burda seçili RadioButton'u sen artık nasıl yapmak istersen, Önemli Birşey Değil Yani)

    protected void Unnamed1_Click(object sender, EventArgs e)
            {
                string gelen = "";
                //DataList indeki her bir item içinde geziniyoruz
                foreach (DataListItem item in DataList1.Items)
                {
                    //DataList içinde olduğu için rdb adını verdiğimiz RadioButton'u Arıyoruz
                    RadioButton r = item.FindControl("rdb") as RadioButton;
                    // Cast Ederek de yapabilirsin
                    //RadioButton r = (RadioButton)item.FindControl("rdb");
                    if (r.Checked != false)
                    {
                        // Checked özelliği false olmayan RadioButton yakaladık ve TADA...
                        // Ben bir string değişkene atadım RadioButton'un textini Artık Sen Nasıl Kullanmak İstersen
                         gelen = r.Text;
                    }                
                }            
            }


    Jesus Promised The End Of All Wicked People, ODIN Promised The End Of All Ice Giants. I Don't See Many Ice Giants Around... exe[nokta]cute[at]live[nokta]com


    • Düzenleyen Exe.Cute 19 Ağustos 2012 Pazar 23:01
    • Yanıt Olarak İşaretleyen RecepEroglu 20 Ağustos 2012 Pazartesi 17:22
    19 Ağustos 2012 Pazar 22:56

Tüm Yanıtlar

  • Fikri olan yok mu arkadaşlar ?

    19 Ağustos 2012 Pazar 16:33
  • Merhaba RecepEroglu;

    Çoklu RadioButton Seçiminin Önüne Geçtiğini Varsayarak ki öyle olduğunu söylemişsin

    aspx sayfandaki DataList için code (Benim Örneğim)

    Datalist içinde ID si rdb olan RadioButton (lar) oluşturdum

    <asp:DataList ID="DataList1" runat="server" DataKeyField="CalisanID" DataSourceID="SqlDataSource1">
                <ItemTemplate>
                    <asp:RadioButton ID="rdb" Text='<%# Eval("Ad") %>' runat="server" />                
                </ItemTemplate>
                <AlternatingItemTemplate>
                    <asp:RadioButton ID="rdb" Text='<%# Eval("Ad") %>' runat="server" />
                </AlternatingItemTemplate>
            </asp:DataList>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:KuzeyYeliConnectionString %>"
                SelectCommand="SELECT [CalisanID], [Ad] FROM [Calisanlar]"></asp:SqlDataSource>
            <asp:Button ID="Button1" Text="text" runat="server" OnClick="Unnamed1_Click" />

    aspx.cs Sayfandaki codelar ise şu şekilde olacak (Button yardımı ile yakaladım ben burda seçili RadioButton'u sen artık nasıl yapmak istersen, Önemli Birşey Değil Yani)

    protected void Unnamed1_Click(object sender, EventArgs e)
            {
                string gelen = "";
                //DataList indeki her bir item içinde geziniyoruz
                foreach (DataListItem item in DataList1.Items)
                {
                    //DataList içinde olduğu için rdb adını verdiğimiz RadioButton'u Arıyoruz
                    RadioButton r = item.FindControl("rdb") as RadioButton;
                    // Cast Ederek de yapabilirsin
                    //RadioButton r = (RadioButton)item.FindControl("rdb");
                    if (r.Checked != false)
                    {
                        // Checked özelliği false olmayan RadioButton yakaladık ve TADA...
                        // Ben bir string değişkene atadım RadioButton'un textini Artık Sen Nasıl Kullanmak İstersen
                         gelen = r.Text;
                    }                
                }            
            }


    Jesus Promised The End Of All Wicked People, ODIN Promised The End Of All Ice Giants. I Don't See Many Ice Giants Around... exe[nokta]cute[at]live[nokta]com


    • Düzenleyen Exe.Cute 19 Ağustos 2012 Pazar 23:01
    • Yanıt Olarak İşaretleyen RecepEroglu 20 Ağustos 2012 Pazartesi 17:22
    19 Ağustos 2012 Pazar 22:56
  • Hocam emeğinize sağlık çok teşekkürler. Bayram günü sevindirdiniz,bayramınız kutlu olsun :) Bir de fazladan konu olmasın diye sorayım ;problem olmazsa.

    Kodlama kısmında kod bloklarını dağınık boşlukları aynı hizaya kolayca getirmenin bir yolu var mı?

    Cevaplamak istemezseniz yeni başlık açarım.

    Yani 1 ve  2 numaralı kod blokları gibi diğer kod bloklarını da  aynı hizaya kısayoldan getiremezmiyim

    Örnek olarak

    1-    sdfdsaf() {

    wefsd dsfdfdf

      sdfsdf

          2- dsfdf(){

    }


    • Düzenleyen RecepEroglu 20 Ağustos 2012 Pazartesi 17:26
    20 Ağustos 2012 Pazartesi 17:24
  • Tekrar Merhaba RecepEroglu;

    Rica Ederim faydalı olabildiysek ne mutlu bana, Sizin de Bayramınız Kutlu Olsun...

    Sorunuz ile alakalı Olarak Cevaplamak İstememek gibi bir olay olmaz =) Ancak sorunuz farkedilmeyebilir.

    Visual Studio Araçlarından Edit > Advanced > Format Document i seçerek fare ile de bu işlemi yapabilirsiniz.

    Kısayolu ise;

    CTRL + E, D kombinasyonu ile Dağınık Code Parçalarını Belge Düzeyinde Düzenleyebilirsiniz.

    Son Olarak Cevaplanmış Bir Konu Altında Başka Bir Soru Sorarsanız Sorunuz Pek Dikkat Çekmeyebilir. Aklınızda bulunsun. =) Orjinal sorduğunuz sorunun konusu dışında bir soru sormak isterseniz yeni Soru Sormanız Sizin için cevabı almak açısından daha hızlı olacaktır.

    İyi Çalışmalar


    Jesus Promised The End Of All Wicked People, ODIN Promised The End Of All Ice Giants. I Don't See Many Ice Giants Around... exe[nokta]cute[at]live[nokta]com


    • Düzenleyen Exe.Cute 21 Ağustos 2012 Salı 00:15 Typo + Tuş Combo
    20 Ağustos 2012 Pazartesi 20:54
  • Tekrar teşekkür ederim hocam :) 
    21 Ağustos 2012 Salı 11:08