110,535
社区成员
发帖
与我相关
我的任务
分享
<asp:Menu ID="Menu1" runat="server"
Orientation="Horizontal" DynamicEnableDefaultPopOutImage="False"
StaticEnableDefaultPopOutImage="false" DenamicEnableDefaultPopOutImage="false"
DynamicVerticalOffset="10" Height="20px" Width="100%">
</asp:Menu>
private void LoadMenu()
{
DataTable table = new LoadMenu().GetRootMenu();
for (int i = 0; i < table.Rows.Count; i++)
{
MenuItem menuRootNode = new MenuItem();
menuRootNode.Text = table.Rows[i]["MenuName"].ToString();
menuRootNode.Value = table.Rows[i]["MenuID"].ToString();
string rootWebAppUrl = table.Rows[i]["WebAppUrl"].ToString();
string rootImagePath = table.Rows[i]["MenuIcon"].ToString();
if (!(string.IsNullOrEmpty(rootWebAppUrl)))
{
menuRootNode.ImageUrl = rootWebAppUrl;
}
if (!(string.IsNullOrEmpty(rootImagePath)))
{
menuRootNode.ImageUrl = rootImagePath;
}
DataTable table1 = new LoadMenu().GetChildMenu(Convert.ToInt32(menuRootNode.Value));
for (int j = 0; j < table1.Rows.Count; j++)
{
MenuItem menuChildNode = new MenuItem();
menuChildNode.Text = table1.Rows[j]["MenuName"].ToString();
menuChildNode.Value = table1.Rows[j]["MenuID"].ToString();
string childWebAppUrl = table1.Rows[j]["WebAppUrl"].ToString();
string childImagePath = table1.Rows[j]["MenuIcon"].ToString();
if (!(string.IsNullOrEmpty(childImagePath)))
{
menuChildNode.ImageUrl = childImagePath;
}
menuChildNode.Enabled = true;
menuRootNode.ChildItems.Add(menuChildNode);
}
menuRootNode.Enabled = true;
Menu1.Items.Add(menuRootNode);
}
}
然后在代码中添加以下红色代码:
private void LoadMenu()
{
DataTable table = new LoadMenu().GetRootMenu();
for (int i = 0; i < table.Rows.Count; i++)
{
MenuItem menuRootNode = new MenuItem();
menuRootNode.Text = table.Rows[i]["MenuName"].ToString();
menuRootNode.Value = table.Rows[i]["MenuID"].ToString();
Menu1.MenuItemClick +=Menu1_MenuItemClick;
string rootWebAppUrl = table.Rows[i]["WebAppUrl"].ToString();
string rootImagePath = table.Rows[i]["MenuIcon"].ToString();
if (!(string.IsNullOrEmpty(rootWebAppUrl)))
{
menuRootNode.ImageUrl = rootWebAppUrl;
}
if (!(string.IsNullOrEmpty(rootImagePath)))
{
menuRootNode.ImageUrl = rootImagePath;
}
DataTable table1 = new LoadMenu().GetChildMenu(Convert.ToInt32(menuRootNode.Value));
for (int j = 0; j < table1.Rows.Count; j++)
{
MenuItem menuChildNode = new MenuItem();
menuChildNode.Text = table1.Rows[j]["MenuName"].ToString();
menuChildNode.Value = table1.Rows[j]["MenuID"].ToString();
string childWebAppUrl = table1.Rows[j]["WebAppUrl"].ToString();
string childImagePath = table1.Rows[j]["MenuIcon"].ToString();
if (!(string.IsNullOrEmpty(childImagePath)))
{
menuChildNode.ImageUrl = childImagePath;
}
menuChildNode.Enabled = true;
menuRootNode.ChildItems.Add(menuChildNode);
}
menuRootNode.Enabled = true;
Menu1.Items.Add(menuRootNode);
}
}
protected void Menu1_MenuItemClick(Object sender,
System.Web.UI.WebControls.MenuEventArgs e)
{
switch (e.Item.Text.ToLower())
{
case "task":
Console.WriteLine(e.Item.NavigateUrl);
return;
case "system":
Console.WriteLine(e.Item.NavigateUrl);
return;
case "user":
Console.WriteLine(e.Item.NavigateUrl);
return;
}
}
就OK啦!谢谢duanzi_peng的耐心解答!
MenuItem menuRootNode = new MenuItem();
menuRootNode.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(menuRootNode_PreviewMouseLeftButtonDown);
void menuRootNode_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
throw new NotImplementedException();
}