Yazar Ol Yazar Girişi
Yazar Girişi
E-Posta Adresi
Şifre
Asp.Net PHP & MySQL .Net MVC C# PhotoShop CSS jQuery AlgoritmA MsSQL Server HTML Ruby
- 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ş

4193 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...

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