62,074
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Default2 : System.Web.UI.Page
{
protected List<Menu> MenuList = new List<Menu>();
protected void Page_Load(object sender, EventArgs e)
{
MenuList.Add(new Menu() { ID = 1, ParentID = 0, Name = "文件" });
MenuList.Add(new Menu() { ID = 2, ParentID = 0, Name = "编辑" });
MenuList.Add(new Menu() { ID = 3, ParentID = 1, Name = "新建" });
MenuList.Add(new Menu() { ID = 4, ParentID = 2, Name = "撤消" });
MenuList.Add(new Menu() { ID = 5, ParentID = 3, Name = "项目" });
MenuList.Add(new Menu() { ID = 6, ParentID = 1, Name = "打开" });
}
}
public class Menu
{
public int ID { get; set; }
public int ParentID { get; set; }
public string Name { get; set; }
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<ul>
<li>文件
<ul>
<li>新建
<ul>
<li>项目</li>
</ul>
</li>
<li>打开 </li>
</ul>
</li>
<li>编辑
<ul>
<li>撤消</li>
</ul>
</li>
</ul>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<%
for (int i = 0; i <= MenuList.Count - 1; i++)
{
}
//??这里应该如何来输出上面的那个菜单事呢?
//谢谢
%>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<%
int parentID = 0;
list = GetList(parentID);
StringBuilder sb = new StringBuilder();
for (int i = 0; i <= list.Count - 1; i++)
{
if (i == 0)
{
sb.Append("<ul>");
}
sb.Append("<li>");
sb.Append(list[i].Name);
sb.Append("</li>");
if (i == list.Count - 1)
{
sb.Append("</ul>");
}
}
Response.Write(sb.ToString());
%>
</body>
</html>
protected List<Menu> MenuList = new List<Menu>(), list;
protected void Page_Load(object sender, EventArgs e)
{
MenuList.Add(new Menu() { ID = 1, ParentID = 0, Name = "文件" });
MenuList.Add(new Menu() { ID = 2, ParentID = 0, Name = "编辑" });
MenuList.Add(new Menu() { ID = 3, ParentID = 1, Name = "新建" });
MenuList.Add(new Menu() { ID = 4, ParentID = 2, Name = "撤消" });
MenuList.Add(new Menu() { ID = 5, ParentID = 3, Name = "项目" });
MenuList.Add(new Menu() { ID = 6, ParentID = 1, Name = "打开" });
}
protected List<Menu> GetList(int parentID)
{
List<Menu> list = new List<Menu>();
Recursion(list, parentID);
return list;
}
private void Recursion(List<Menu> list, int ID)
{
List<Menu> menus = MenuList.FindAll(menu => { return menu.ParentID == ID; });
for (int i = 0; i < menus.Count; i++)
{
list.Add(menus[i]);
Recursion(list, menus[i].ID);
}
}
<%
for (int i = 0; i <= RootList.Count - 1; i++)
{
%>
<li><%= RootList[i].Name %></li>
<%
}
%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<%
int parentID = 0;
RootList = GetList(parentID);
StringBuilder sb = new StringBuilder();
for (int i = 0; i <= RootList.Count - 1; i++)
{
if (i == 0)
{
sb.Append("<ul>");
}
sb.Append("<li>");
sb.Append(RootList[i].Name);
sb.Append(GetHTMLByID(RootList[i].ID));
sb.Append("</li>");
if (i == RootList.Count - 1)
{
sb.Append("</ul>");
}
}
Response.Write(sb.ToString());
%>
</body>
</html>
protected List<Menu> MenuList = new List<Menu>(), RootList;
protected void Page_Load(object sender, EventArgs e)
{
MenuList.Add(new Menu() { ID = 1, ParentID = 0, Name = "文件" });
MenuList.Add(new Menu() { ID = 2, ParentID = 0, Name = "编辑" });
MenuList.Add(new Menu() { ID = 3, ParentID = 1, Name = "新建" });
MenuList.Add(new Menu() { ID = 4, ParentID = 2, Name = "撤消" });
MenuList.Add(new Menu() { ID = 5, ParentID = 3, Name = "项目" });
MenuList.Add(new Menu() { ID = 6, ParentID = 1, Name = "打开" });
}
protected List<Menu> GetList(int parentID)
{
return MenuList.FindAll(menu => { return menu.ParentID == parentID; });
}
private string Recursion(int ID)
{
List<Menu> list = GetList(ID);
if (list.Count == 0)
{
return "";
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < list.Count; i++)
{
if (i == 0)
{
sb.Append("<ul>");
}
sb.AppendFormat("<li>{0}{1}</li>", list[i].Name, Recursion(list[i].ID));
if (i == list.Count - 1)
{
sb.Append("</ul>");
}
}
return sb.ToString();
}
protected string GetHTMLByID(int ID)
{
return Recursion(ID);
}
}
public class Menu
{
public int ID { get; set; }
public int ParentID { get; set; }
public string Name { get; set; }
}