none
Repeater içindeki linkbuttonun Click event ına nasıl erişiriz? RRS feed

  • Soru

  • Repeater içindeki linkbuttonun Click event ına nasıl erişiriz?ben yaptım ama her seferinde "Object reference not set to instance of an object" hatası alıyorum ve bp ile baktığımda ise linkbutton hep null geliyor...hem nasıl erişirim hem de eriştikten sonra click event ı nasıl kullanırım bunu öğrenmek istiyorum...teşekkürler..

    bu arada linkbutton da data-lightbox="roadtrip" yani lightbox kullanıyorum...


    1881-193∞
    mkayar86[at]gmail[nokta]com
    www.facebook.com/mkayar86
    http://www.twitter.com/kayarmelih

    4 Aralık 2013 Çarşamba 14:09

Tüm Yanıtlar

  • Merhaba;

    <asp:LinkButton ID="LinkButton2" CommandArgument='<%# Eval("ID") %>' CommandName="Sil" runat="server">Sil</asp:LinkButton>
    

    Yukarıda link butona commandName verdik. Şimdi bu CommandName'yi nasıl kullanacağınızı göstereyim.

    protected void Repeater1_ItemCommand(object sender, RepeaterCommandEventArgs e)
            {
               if (e.CommandName == "Sil")
               {    
                 int ID=e.CommandArgument;  
                 // Daha sonra veri tabanı işlemlerini Id ile yaptırabilirsiniz.
               }
            }


    EMail: barissaritas[at]windowslive[nokta]com

    4 Aralık 2013 Çarşamba 14:38
    Moderatör
  • command name e erişmek istemiyorum onu biliyorum zaten ben click event ı kulanmak istiyorum orada tıkladığıklarında update yaptırıcam ;)

    1881-193∞
    mkayar86[at]gmail[nokta]com
    www.facebook.com/mkayar86
    http://www.twitter.com/kayarmelih

    4 Aralık 2013 Çarşamba 15:05
  • Repeater içerisindeki butona dediğin şekilde erişemezsin diye düşünüyorum. Çünkü buton sayısı belli değil. 100 tane kayıt olsa, 100 buton yapar. 

    EMail: barissaritas[at]windowslive[nokta]com

    4 Aralık 2013 Çarşamba 15:07
    Moderatör
  • for ile döndürürüz siz sadece nasıl erişebileceğimi söyleyin yeter?

    1881-193∞
    mkayar86[at]gmail[nokta]com
    www.facebook.com/mkayar86
    http://www.twitter.com/kayarmelih

    4 Aralık 2013 Çarşamba 15:23
  • O zaman grid üzerine templatedfield ekleyip içerisine linkbutton eklersen click olayını rahatlıkla oluşturabilirsin.

    Herkez Bir Zamanlar ÇAyLaK 'tı

    31 Aralık 2013 Salı 08:55
  • Merhaba  ,

    asp.net olsun yada olmasın bunların hepsi zaten birer Html elementine çevrilir. direk attribute yazabilirdiniz. Fakat şu şekilde bir kullanımıda bulunmakta <asp:LinkButton  OnClientClick="javascript fonksiyonu" /> 

    ilgili örneğe buradan ulaşabilirsin.

    11 Ocak 2014 Cumartesi 21:23
  • <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
                <ItemTemplate>
                    <tr>
                        <td class="style6">
                            <%# Eval("ID")%>
                        </td>
                        <td class="style3">
                            <%# Eval("Deneme")%>
                        </td>
                        <td>
                            <asp:LinkButton ID="lnkSil" CommandName="Sil" CommandArgument='<%# Eval("ID") %>'
                                runat="server">Sil</asp:LinkButton>
                        </td>
                        <td>
                            <asp:LinkButton ID="lnkGuncelle" CommandName="Guncelle" CommandArgument='<%# Eval("ID") %>' runat="server">Güncelle</asp:LinkButton>
                        </td>
                    </tr>
                </ItemTemplate>
            </asp:Repeater>

    protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
            {
                SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["S"].ConnectionString);

                if (e.CommandName == "Sil")
                {
                    
                    SqlCommand comm = new SqlCommand("Delete From TabloAd Where ID=@ID", conn);

                    comm.Parameters.AddWithValue("@ID", e.CommandArgument);

                    conn.Open();
                    comm.ExecuteNonQuery();
                    conn.Close();

                }
                else if (e.CommandName == "Guncelle")
                {


                    SqlCommand comm = new SqlCommand("SELECT * FROM TabloAd Where ID=@ID", conn);
                        comm.Parameters.AddWithValue("@ID", e.CommandArgument);

                        conn.Open();

                        SqlDataReader rdr = comm.ExecuteReader();
                        if (rdr.HasRows)
                        {
                            rdr.Read();

                            textBox1.Text = rdr["deneme"].ToString();
                            btnguncelle.CommandArgument = rdr["ID"].ToString();
                            btnguncelle.Visible = true;
                            Button1.Visible = false;

                        }
                        rdr.Close();
                        conn.Close();
                        
                    }
                    
                }

    protected void btnguncelle_Click(object sender, EventArgs e)
            {
                
                    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["S"].ConnectionString);
                    SqlCommand comm = new SqlCommand("Update Komutun", conn);
                    comm.Parameters.AddWithValue("@Deneme", textBox1.Text);
                    comm.Parameters.AddWithValue("@ID", btnguncelle.CommandArgument);


                    if (conn.State != ConnectionState.Open)
                    {
                        conn.Open();
                    }

                     comm.ExecuteNonQuery();

            }

    10 Aralık 2014 Çarşamba 13:15