无限数据递归
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
AddTree(0, (TreeNode)null);
}
}
protected void AddTree(int parentId, TreeNode pNode)
{
PurviewPage[] purviewPageList = BLL.PurviewPageBLL.GetDataByParentId(parentId);
for(int i=0;i<purviewPageList.Length;i++)
{
TreeNode Node = new TreeNode();
if (pNode == null)
{
//添加根节点
Node.Text = purviewPageList[i].Name;
Node.Value = purviewPageList[i].ID.ToString() ;
Node.NavigateUrl = Request.Url.AbsoluteUri.Replace(BLL.PurviewPageBLL.getUrl(Request.RawUrl), "") + purviewPageList[i].Url;
TreeView1.Nodes.Add(Node);
Node.Expanded = true;
AddTree(purviewPageList[i].ID, Node); //再次递归
}
else
{
//?添加当前节点的子节点
Node.Text = purviewPageList[i].Name;
Node.Value = purviewPageList[i].ID.ToString();
Node.NavigateUrl = Request.Url.AbsoluteUri.Replace(BLL.PurviewPageBLL.getUrl(Request.RawUrl), "") + purviewPageList[i].Url;
pNode.ChildNodes.Add(Node);
Node.Expanded = true;
AddTree(purviewPageList[i].ID, Node); //再次递归
}
}
}
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步