Forum
Kategorileri repeater içinde getiriyor ve kategoriye bağlı verileri querystring ile yeni sayfada datalist içinde sıralıyorum.Hangi kategori tıklanırsa ona ait veriler datalist içinde görüntüleniyor. Benim sorunum querystring ile gelen idye göre datalist içinde sıralanan verileri edit,update,delete işlemlerini yaptıramıyorum. ItemTemplate içinde imagebuttona (edit) tıkladığımda postback hatası alıyorum. (!Ispostback) doldur(); yapıyorum bu kezde kategoriler çalışmıyor. Code behind tarafında mssql sorgusuyla verileri çekiyorum. Itemcommand eventında if ile commandname'e göre işlem yaptırıyorum. Burda atladığım ne acaba yardımcı olabilirmisiniz?
<asp:LinkButton ID="lnkKonuDuzenle" CommandName="duzenle" CommandArgument='<%#Eval("videoID") %>' Text="Duzenle" runat="server"></asp:LinkButton>
int gelenid;
protected void Page_Load(object sender, EventArgs e)
{
gelenid = Convert.ToInt32(Request.QueryString["DID"]);
if(!IsPostBack)
doldur();
}
private void doldur()
{
cnn.Open();
SqlCommand derskonularigetir = new SqlCommand("Select Dersler.dersID,dersAdi,Videolar.videoID,konuBaslik,konuOzet,konuIcerik,videoSure,videoYolu,Aciklama,AnahtarKelime from Dersler Inner Join Videolar on Dersler.dersID=Videolar.dersID Where Videolar.dersID=@id ", cnn);
derskonularigetir.Parameters.AddWithValue("@id", gelenid);
SqlDataAdapter adp = new SqlDataAdapter(derskonularigetir);
DataTable dt = new DataTable();
adp.Fill(dt);
cnn.Close();
dtlKonular.DataSource = dt;
dtlKonular.DataBind();
}
protected void dtlKonular_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "duzenle")
{
dtlKonular.EditItemIndex = e.Item.ItemIndex;
doldur();
}
}
Merhaba,
Aşağıdaki şekilde denedim problem olmadan çalışıyor kodlarınız. Debug ettiğimde "DataList1_ItemCommand" kısmına geliyor ve değerleri alabiliyorsunuz. Edit Update işlemini nasıl gerçekleştirmeyi düşünüyorsunuz?
int gelenid;
protected void Page_Load(object sender, EventArgs e)
{
gelenid = Convert.ToInt32(Request.QueryString["DID"]);
if (!IsPostBack)
doldur();
}
private void doldur()
{
SqlConnection conn = new SqlConnection("server=localhost;user=sa;pwd=sa;database=aDB;");
SqlCommand derskonularigetir = new SqlCommand("SELECT * FROM kategoriler WHERe id_kategoriler = @id ", conn);
derskonularigetir.Parameters.AddWithValue("@id", gelenid);
SqlDataAdapter adp = new SqlDataAdapter(derskonularigetir);
DataTable dt = new DataTable();
adp.Fill(dt);
conn.Close();
DataList1.DataSource = dt;
DataList1.DataBind();
}
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "duzenle")
{
DataList1.EditItemIndex = e.Item.ItemIndex;
doldur();
}
}
Kenan bey,
protected void Page_Load(object sender, EventArgs e)
{
gelenid = Convert.ToInt32(Request.QueryString["DID"]);
if (!IsPostBack)
doldur();
} bu şekilde yaptığımda ItemCommand kısmında else if diyerek update işlemini yapabiliyorum çalışıyor ama bu seferde master sayfada repeater içinde çektiğim kategoriler çalışmıyor. Bir sonraki kategoriye geçmek isteyip onun verilerini de düzenlemek mümkün olmuyor.
protected void Page_Load(object sender, EventArgs e)
{
gelenid = Convert.ToInt32(Request.QueryString["DID"]);
doldur();
} bu şekilde yaptığımda ise Kategorilerden her birine ayrı tıkladığımda onunla ilgili veriler sorunsuz geliyor ancak bu kez de update yapamıyorum (adres çubuğunda yönlenensayfa adıyla beraber id görünüyor ama sayfada id değeri hep 0 görünüyor)