Hi AliYilmaz,
Here I have created sample that will help you out.If there is any chage regarding column,then you can modify below sample also if you want try below link to make your repeater expandable.
HTML
<div id="filter">
<span>Kategori:</span>
<ul>
<asp:Repeater ID="rptCategory" runat="server" OnItemDataBound="OnItemDataBound">
<ItemTemplate>
<li>
<asp:Label ID="lblId" runat="server" Text='<%#Eval("ID") %>' Visible="false" />
<asp:LinkButton ID="lnkId" Text='<%#Eval("KategoriAd") %>' class='<%#Eval("ID") %>'
runat="server"></asp:LinkButton>
</li>
<span>Gallery:</span>
<ul id="gallery" class="portfolio-grid clearfix">
<asp:Repeater ID="rptGallery" runat="server">
<ItemTemplate>
<li data-id="#" data-type="<%#Eval("ID") %>" class="entry one-fourth">
<div class="two-thirds">
<p>
<%#Eval("Yazi") %>
</p>
</div>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>
Code
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
GetKategori();
}
}
private void GetKategori()
{
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("KategoriAd");
using (BesKardeslerPeyzajEntities krm = new BesKardeslerPeyzajEntities())
{
var krmekle = from v in krm.HizmetKategoris select v;
int i = 0;
foreach (var k in krmekle)
{
dt.Rows.Add();
dt.Rows[i]["ID"] = k.ID;
dt.Rows[i]["KategoriAd"] = k.KategoriAd;
i++;
}
rptCategory.DataSource = dt;
rptCategory.DataBind();
}
}
private DataTable GetGalleryByKategori(int id)
{
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("HizmetAd");
dt.Columns.Add("Yazi");
dt.Columns.Add("KatID");
using (BesKardeslerPeyzajEntities krm = new BesKardeslerPeyzajEntities())
{
var krmekle = from v in krm.Hizmetlers
where v.KatID == id
select v;
int i = 0;
foreach (var k in krmekle)
{
dt.Rows.Add();
dt.Rows[i]["ID"] = k.ID;
dt.Rows[i]["HizmetAd"] = k.HizmetAd;
dt.Rows[i]["Yazi"] = k.Yazi;
dt.Rows[i]["KatID"] = k.KatID;
i++;
}
return dt;
}
}
protected void OnItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string Id = (e.Item.FindControl("lblId") as Label).Text;
Repeater rptGallery = e.Item.FindControl("rptGallery") as Repeater;
rptGallery.DataSource = GetGalleryByKategori(Convert.ToInt32(Id));
rptGallery.DataBind();
}
}
Screenshot
