Yazar Ol Yazar Girişi
Yazar Girişi
E-Posta Adresi
Şifre
Şifremi Unuttum
Asp.Net .Net MVC PHP & MySQL C# PhotoShop CSS jQuery AlgoritmA MsSQL Server HTML Ruby
- Kategoriler -
Türkçe
English
German
Tüm Kategoriler
ASP.NET Repeater içerisindeki kontrollere erişim

Merhabalar,

Bu yazımızda ASP.NET Repeater içerisindeki nesnelere erişimi bir örnek ile yapacağız. Veri tabanında aşağıdaki gibi bir tablo oluşturuyoruz.

Tablomuzun içeriğini ben aşağıdaki şekilde doldurdum siz istediğinizi yapabilirsiniz.

Veritabanı tarafını hallettik. Şimdi Visual Studio ile yeni bir web site oluşturuyoruz. Default.aspx ve LİNQ To SQL Classess ekliyorum. veritabanı bağlantısını yaptıktan sonra Default.aspx sayfamıza aşağıdaki kodları yazıyoruz.

<form id="form1" runat="server">
        <br />    
    </div>
        <table class="auto-style1">
            <tr>
                <td valign="top" class="auto-style2">
   <asp:Repeater ID="Repeater1" runat="server"
            onitemcommand="Repeater1_ItemCommand">
        <HeaderTemplate>
        <table>
        <tr>
        <td>
        <b><asp:Label ID="Label1" runat="server" Text="Ad Soyad" Font-Names="Tahoma"></asp:Label></b>
        </td>
        <td>
        <b>
            <asp:Label ID="Label2" runat="server" Text="Adres" Font-Names="Tahoma"></asp:Label></b>
        </td>
        <td>
        <b>
            <asp:Label ID="Label5" runat="server" Text="İşlem" Font-Names="Tahoma"></asp:Label></b>
        </td>
        </tr>
        </HeaderTemplate>
        <ItemTemplate>
        
            
                <asp:Label ID="lblID" runat="server" Text=<%# Eval("ID") %> Visible="false" ></asp:Label></td>
       <tr> <td>
       <asp:Label ID="Label3" runat="server" Text=<%# Eval("AdSoyad") %> Font-Names="Tahoma" ></asp:Label>
        </td>
        <td>
        <asp:Label ID="Label4" runat="server" Text=<%# Eval("Adres") %> Font-Names="Tahoma" ></asp:Label>
        </td>
        <td>
            <asp:Button ID="Butons" runat="server" Text="Detay" CommandName="Buton"/>
        </td>
        </tr>
        </ItemTemplate>
        
        <FooterTemplate>
        </table>
        </FooterTemplate>
        </asp:Repeater>    
                </td>
                <td valign="top" class="auto-style1">
                    <asp:Panel ID="Panel1" runat="server" Visible="False">
                        <asp:Label ID="lblAd" runat="server" Font-Names="Tahoma"></asp:Label>
                        <br />
                        <asp:Label ID="lbladres" runat="server" Font-Names="Tahoma"></asp:Label>
                        <br />
                        <asp:Label ID="lblTel" runat="server" Font-Names="Tahoma"></asp:Label>
                        <br />
                        <asp:Label ID="lblMeslek" runat="server" Font-Names="Tahoma"></asp:Label>
                        <br />
                        <br />
                        <br />
                        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Vazgeç" />
                    </asp:Panel>
                </td>
            </tr>
        </table>
    </form>

Repeater içerisinde veri tabanından ID leri çektiğimiz labelimizi gizliyoruz kullanıcıya göstermemize gerek yok. Sonra f7 ile kod kısmımıza geçiyoruz ve aşağıdaki kodları yazıyoruz.

 vtDataContext db = new vtDataContext();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                loadData();
            }
        }
       
        protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (e.CommandName == "Buton")
            {
                for (int i = 0; i <= Repeater1.Items.Count; i++)
                {
                    Label lblID = (Label)Repeater1.Items[e.Item.ItemIndex].FindControl("lblID");
                    int id =Convert.ToInt32(lblID.Text);
                    Panel1.Visible = true;
                    var kisi = (from j in db.TblDenes
                                where j.ID == id
                                select j).SingleOrDefault();
                    lblAd.Text ="<b>Adı Soyadı :</b> "+ kisi.AdSoyad;
                    lbladres.Text = "<b>Adres :</b> " + kisi.Adres;
                    lblTel.Text = "<b>Telefon :</b> " + kisi.Telefon;
                        lblMeslek.Text="<b>Meslek :</b> " + kisi.Meslek;
                }

            }
        }

        
        private void loadData()
        {
            
            var data = from i in db.TblDenes
                       select i;
            Repeater1.DataSource = data;
            Repeater1.DataBind();
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            Panel1.Visible = false;
        }

Prejomizi çalıştırdığımızda ekran çıktısı aşağıdaki gibi olacaktır.

Repeater içerisindeki her bir detay butonuna tıkladığımızda o satırın detayını panel1 içerisinde yerleştirmiş olduğumuz labellere atamış oldu.

Bir sonraki yazımızda görüşmek üzere hoşça kalın.

Sosyal Hesabında Paylaş

5550 görüntüleme

Yorumlar
Adınız Soyadınız
Mail Adresiniz
Doğrulama Kodu

Bildiklerimiz.Net Bildiklerimizi paylaşıyoruz, bilmediklerimizi öğreniyoruz. biz bunları yapıyoruz ya siz...

© 2019 Bildiklerimiz Tüm hakları saklıdır.
bir Bildiklerimiz.Net projesidir.