Arkadaşlar şöyle bir sorunum var sizlere baştan acıklıyım ilk önce yapmak istedıgım olayı şudur:
repeater içinde bulunan bir ImageButton a tıklanınca bir devereye gircek işlemler sunlardır:
<asp:ImageButton ID="ImageButton1" runat="server" CommandName="Like" CommandArgument='<%#Eval("Id")%>' ImageUrl="~/like.png" />
</td>RptItiraflar_ItemCommand:
if (e.CommandName == "Like")
{
string like = ds.Tables[0].Rows[0]["I_Like"].ToString();
int like_deger = Convert.ToInt32(like);
like_deger++;
if (e.Item.ItemType == ListItemType.AlternatingItem | e.Item.ItemType == ListItemType.Item)
{
Label lbl = (Label)e.Item.FindControl("LblLike");
lbl.Text = like_deger.ToString();
funk.LikeUpdate(e.CommandArgument, like_deger);
ImageButton imglike = (ImageButton)e.Item.FindControl("ImageButton1");
imglike.Enabled = false;
ImageButton imgdislike = (ImageButton)e.Item.FindControl("ImageButton2");
imgdislike.Enabled = false;
}
}bu şekilde çalıştırınca aldıgım hata şudur:
ben bu hatayı araştırdım ve page_load da postback kontrolu ile çözdum:
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (!Page.IsPostBack)
{
RptItiraflar.DataSource = funk.ItirafGetir();
RptItiraflar.DataBind();
}
}Şimdi Soruna Geldik:
default.aspx sayfamda sayfalama yapmak istedigim için CollectionPager.dll ile sayfalama yaptım şu şekilde sayfalama işlemini şu şelikde yaptım ön tarafdaki kodu yazmıyacagım direk arkadaki kodu yazıyorum (page_load)
if (!Page.IsPostBack)
{
SqlDataAdapter da = new SqlDataAdapter("select * from Itiraflar order by Id desc ", bag);
DataTable dt = new DataTable();
da.Fill(dt);
CollectionPager1.DataSource = dt.DefaultView;
CollectionPager1.BindToControl = RptItiraflar;
RptItiraflar.DataSource = CollectionPager1.DataSourcePaged; //Pager'ımızın datasource'u
RptItiraflar.DataBind();
}Page.IsPostBack kontrolü yapınca ikinci sayfaya tıkladıgımda repeater boş geliyor bnde Page.IsPostBack kontrolunu kaldırdıgımda sayfalama çalışıyor ancak bu seferde RptItiraflar_ItemCommand deki kodlar çalışmıyor işte sorunum budur hem sayfalama yapmak hemde RptItiraflar_ItemCommand deki kodları çalıştırmak nasıl yapacagım
işte sorunum budur yardımlarınızı bekliyorum
not: EnableEventValidation="true" hatasını aşmak için aşagıdaki kayıt satırnı yazınca yine çalışmıyor RptItiraflar_ItemCommand
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="KAU_Itiraf._Default" EnableEventValidation="true" %>