Resimler gönderiler için kullanışlıdır. Ancak mümkün olduğunca az ve / veya küçük resimler kullanmak gerekir.
Bilgisayardaki bir hata mesajı veya kodu resim olarak eklemek yerine kendisini
kopyalayıp yapıştırın.
Resimler gönderiler için kullanışlıdır. Ancak mümkün olduğunca az ve / veya küçük resimler kullanmak gerekir.
Bilgisayardaki bir hata mesajı veya kodu resim olarak eklemek yerine kendisini
kopyalayıp yapıştırın.
0
repeaterle kategori başlıkların yanına kategori içindeki başlık sayısını yazdırma
repeaterle kategori adını çekiyorum
bir bölümdeki id ye göre istediğim şartları ekleyerek içerisindekiler saydırabiliyorum. yalnız aşağıdaki kodla elde ettiğim sonucu dinamik olarak her kategori için yapamıyorum.
... SqlDataAdapter da = new SqlDataAdapter("select COUNT(SayfaId)as SayfaAdet from Sayfalar where SayfaKategoriId='"+SayfaKategoriId+"'", system.baglan());
DataSet ds = new DataSet();
da.Fill(ds);
string sayfaadet = ds.Tables[0].Rows[0]["SayfaAdet"].ToString();
Label LblSayfaAdet = new Label();
PlaceHolder1.Controls.Add(LblSayfaAdet);
LblSayfaAdet.Text = sayfaadet;
ama Sayfa kategorilerini çektiğimde o kategoriye ait içerisindeki kategori sayısını yazdıramıyorum.
Sanırım iç içe repeaterle yapılabilri ama bunu bir türlü yapamadım bir örnekle enbasitçe nasıl yapılabilir?
örn:
Eğitim (25) gibi.
Soran:15.03.17 22:48
misafir
0
Eğer Repeater içindeki bir Label'e yazdırmak istiyorsan Repeater'in ItemDataBound olayını kullanman lazım.
Bunun haricinde sorgunda kategori isimleri alınmıyor. Herhalde kodun devamında birşeyler var.
Ayrıca, eğer bir Repeater kullanıyorsan ve amaç sadece kayıtları yazdırmaksa kayıtları bir DataSet'e almana gerek yok. DataSet bu iş için ağır gelir. Kayıtları değiştirmeyeceksen DataSet kullanma. Bunun yerine SqlDataReader kullanmalısın.
Eğer doğru anladıysam senin istediğini aşağıdaki kod yapar (çalıştırmadım, bazı hatalar olabilir, alan adlarını ve bağlantı dizesini kendine göre düzenlemen gerekir).
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<!DOCTYPE html>
<script runat="server">
void Page_Load(Object o, EventArgs e)
{
SqlConnection baglanti = new SqlConnection("BağlantıDizesiBuraya");
SqlCommand cmd = new SqlCommand("SELECT COUNT(SayfaId) AS SayfaAdet, KategoriAdi FROM Sayfalar GROUP BY KategoriAdi", baglanti);
baglanti.Open();
rpt1.DataSource = cmd.ExecuteReader();
rpt1.DataBind();
baglanti.Close();
}
protected void rpt1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
Label kategoriAdi = (Label)e.Item.FindControl("lblKategoriAdi");
Label sayfaSayisi = (Label)e.Item.FindControl("lblSayfaSayisi");
kategoriAdi.Text = DataBinder.Eval(e.Item.DataItem, "KategoriAdi").ToString();
sayfaSayisi.Text = DataBinder.Eval(e.Item.DataItem, "SayfaAdet").ToString();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<ul>
<asp:Repeater ID="rpt1" runat="server" OnItemDataBound="rpt1_ItemDataBound">
<ItemTemplate>
<asp:Label ID="lblKategoriAdi" runat="server" />
<asp:Label ID="lblSayfaSayisi" runat="server" />
</ItemTemplate>
</asp:Repeater>
</ul>
</form>
</body>
</html>
cevapsitesi.com'a katkınızdan dolayı teşekkür ederiz. Cevap yazarken lütfen şunlara dikkat edin:
Cevabınız açık ve net olmalıdır. Varsa alıntılar, bağlantılar, resim veya program kodu eklemelisiniz.
Eğer soru hakkında görüş bildirecekseniz veya cevap haricinde başka bir şey söylemek istiyorsanız yorum olarak yazın.
Tartışma çıkaracak cevaplardan kaçının, hitabınıza dikkat edin, "Kardeşim", "Arkadaşım" gibi ifadeler kullanmayın.
Eleştirmeyin. Sadece bilginizi gösterin ve fikrinizi söyleyin.
Büyük harf kullanmaktan ve cümle kurmaktan çekinmeyin. :)
Buraya yeni bir soru yazmayın, "benim de şöyle bir sorunum var" gibi eklemeler yapmayın. Sorunuz varsa yeni soru ekleyin.
ÜSLUP
ve SAYGI çok önemlidir. İnsanlar cevabınızdan çok üslubunuza dikkat ederler.
Cevabı, bir cevabın veya sorunun yorumu olarak dönüştürmek için ilgili cevabı veya soruyu tıklayın. [
İptal ]