我覺得可以用
Repeater控件綁定從服務器端多
<li>
標籤
最簡單的方法。
如果您不想回發來刷新菜單項,也可以使用ajax調用來綁定客戶端。
代碼:
也許這將有助於讓你的從服務器端結合的一種方式的想法... ..
ASPX
<ul>
<li><a href="#">HOME</a></li>
<li><a href="#">ABOUT US</a></li>
<ul>
<asp:Repeater ID="_rptSubMenu" runat="server">
<ItemTemplate>
<li><a href="#"><%Eval(ProductId) %> </a>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</ul>
CS
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
bindMenu();
}
public void bindMenu()
{
//ADO Code to get menu Items from Database
//You can load it directly form DataTable or you can create a LIST with Menu Entity as i have
string connectionstring = "";
List<MenuItem> lstMenu = new List<MenuItem>();
SqlConnection con = new SqlConnection(connectionstring);
SqlCommand cmd = new SqlCommand("SELECT Id,MenuName FROM TM_Menu", con);
SqlDataReader dr;
dr = cmd.ExecuteReader();
while (dr.Read())
{
lstMenu.Add(new MenuItem { ProductID = dr["Id"].ToString(), Name = dr["Name"].ToString() });
}
_rptSubMenu.DataSource = lstMenu;
_rptSubMenu.DataBind();
}
}
public class MenuItem
{
public string ProductID { get; set; }
public string Name { get; set; }
}
如何?,你能更詳細的或寫代碼的代碼? – Elixir
謝謝這是工作 – Elixir