Hi Nedash,
The this is that People may not have interest as per you expectation is you are not pasting code in sense ful way, int the code pasted here two of the tag has no closing tags at all, its
<div class="container">
and
<ul class="subs">
Its highly expected from you atleast paste some sencefull or complete code.
-------
However please check the following code
<div class="container">
<ul id="nav">
<li><a href="http://www.script-tutorials.com/">Home</a></li>
<li><a class="hsubs" href="#">Menu 1</a><span class="dropBottom"></span>
<ul>
<asp:Repeater ID="rptMenu" runat="server" OnItemDataBound="rptMenu_ItemDataBound">
<ItemTemplate>
<li><a href="#"><%# Eval("Menu") %></a><span class="dropRight"></span>
<ul>
<asp:Repeater ID="rptSubMenu" runat="server">
<ItemTemplate>
<li><a href="#"><%# Eval("Submenu") %></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</li>
</ul>
</div>
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.BindMenu();
}
}
private void BindMenu()
{
this.rptMenu.DataSource = this.GetMenu();
this.rptMenu.DataBind();
}
private DataTable GetMenu()
{
using (DataTable menu = new DataTable())
{
menu.Columns.AddRange(new DataColumn[] { new DataColumn("Id"), new DataColumn("Menu") });
menu.Rows.Add(1, "Design");
menu.Rows.Add(2, "Articles");
menu.Rows.Add(3, "Interviews");
return menu;
}
}
protected DataTable GetSubMenu(string manuId)
{
//using (DataTable subMenu = new DataTable())
//{
// subMenu.Columns.AddRange(new DataColumn[] { new DataColumn("Id"), new DataColumn("Menu"), new DataColumn("Submenu") });
// subMenu.Rows.Add(1, "Design", "photoshop");
// subMenu.Rows.Add(2, "Design", "Illustrator");
// subMenu.Rows.Add(3, "Design", "Web Design");
// return subMenu;
//}
//Above commented code is as per your Data structure, which is not advised as you are not you PK as reference to child table
//Indeed it should be one like below
using (DataTable subMenu = new DataTable())
{
try
{
subMenu.Columns.AddRange(new DataColumn[] { new DataColumn("Id"), new DataColumn("MenuId"), new DataColumn("Submenu") });
subMenu.Rows.Add(1, 1, "photoshop");
subMenu.Rows.Add(2, 1, "Illustrator");
subMenu.Rows.Add(3, 1, "Web Design");
return subMenu.Select(string.Format("menuId = {0}", manuId)).CopyToDataTable();
}
catch (Exception)
{
return new DataTable();
}
}
}
protected void rptMenu_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
Repeater rptSubMenu = e.Item.FindControl("rptSubMenu") as Repeater;
string manuId = (e.Item.DataItem as DataRowView)["Id"].ToString();
rptSubMenu.DataSource = this.GetSubMenu(manuId);
rptSubMenu.DataBind();
}
Thanks and Regards,
Rk_Hirpara