سلام
من منو داینامیک رو از این کد استفاده کردم .
مشکلم اینه که همه کدها در بخش کد نویسی هست و دربخش html چیزی نیست .
من بخوام این منوی من اصل قضیه اش در بخش html باشه که بتونم در یک div قرار بدمش و در صفحه جاش رو مشخص کنم چکار باید کنم ؟
یا اصلا تو همین بخش کد نویسی سی شارپ جای منو رو بتونم در کنار دیوهای دیگه مشخص کنه ؟
الان من یک دیو در html می زارم نمایش داده نمیشه .
protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = new DataSet();
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=aaaa;User ID=ffffff;Password=43542362346");
SqlDataAdapter da=new SqlDataAdapter("Select * From MenuTB",con);
da.Fill(ds);
DataTable table = ds.Tables[0];
DataRow[] parentMenus = table.Select("ParentId = 0");
var sb = new StringBuilder();
string unorderedList = GenerateUL(parentMenus, table, sb);
Response.Write(unorderedList);
}
private string GenerateUL(DataRow[] menu, DataTable table, StringBuilder sb)
{
sb.AppendLine("<ul id='css3menu1' class='topmenu'>");
if (menu.Length > 0)
{
foreach (DataRow dr in menu)
{
string handler = dr["Url"].ToString();
string menuText = dr["MenuName"].ToString();
string line = String.Format(@"<li><a href=""{0}"">{1}</a>", handler, menuText);
sb.Append(line);
string pid = dr["PID"].ToString();
DataRow[] subMenu = table.Select(String.Format("ParentId = {0}", pid));
if (subMenu.Length > 0)
{
var subMenuBuilder = new StringBuilder();
sb.Append(GenerateUL(subMenu, table, subMenuBuilder));
}
sb.Append("</li>");
}
}
sb.Append("</ul>");
return sb.ToString();
}
شما میتونید منوی خود را با استفاده از Repeater ایجاد کنید
این کد در بخش کد منو را ساخته و به صفحه ارسال میکنه
شما برای اینکه بتونید منوی مورد نظرتون رو بسازید بهتره در سمت Design و با استفاده از Repeater آیتم های ان را بسازید
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)