asp.net里用C#如何做出一个树形目录? 在一个功能模块里,一个数据库里的表是部门信息表,有两个字段,表示部门,两个字段是父子关系,如果新建部门的话,可以无限级地新建部门.我想把部门信息通过树形目录在页面上显示出来,用递归法,如何写呀?请教各位大虾. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 下载 ms treeview 控件!即可!!1 private void BuildTree(TreeNode parentNode) { SqlConnection tempConnection = new SqlConnection(m_ConnectionString); tempConnection.Open(); try { DataSet tempSet = new DataSet(); SqlDataAdapter tempAdapter = new SqlDataAdapter("GetTree", tempConnection); tempAdapter.SelectCommand.CommandType = CommandType.StoredProcedure; tempAdapter.SelectCommand.Parameters.AddWithValue("@parentId", int.Parse(parentNode.Value)); tempAdapter.Fill(tempSet); foreach (DataRow row in tempSet.Tables[0].Rows) { TreeNode tempNode = new TreeNode(); tempNode.Text = row["name"].ToString(); tempNode.Value = row["id"].ToString(); parentNode.ChildNodes.Add(tempNode); BuildTree(tempNode); } } finally { if (tempConnection.State == ConnectionState.Open) tempConnection.Close(); } }递归参考以上代码 http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp 安装后,通过“自定义工具箱”->“.net框架组件”把TreeView添加到工具箱里 请参考:轻松搞定深层次(多级)分类管理—TreeView控件在ASP.NET中的应用http://mydotnet.blog.edu.cn/user2/welldone/archives/2006/1147835.shtml 用05.NET的自带属性控件就OK了 private void BindPopulateNodesNews() { DataTable dtMenuNews = TypesManager.GetTypeByParentAndCategory(CTypesCategory.News.ID, 0); DataRow[] drMenuNews = dtMenuNews.Select("ParentID=0"); for (int i = 0; i < drMenuNews.Length; i++) { TreeNode tnNodeNews = new TreeNode(); tnNodeNews.Expanded = false; tnNodeNews.Text = UtilTool.ToSafeString(drMenuNews[i]["Name"]); tnNodeNews.Value = UtilTool.ToSafeString(drMenuNews[i]["ID"]); tnNodeNews.NavigateUrl = "NewsRight.aspx?NewsTypeID=" + tnNodeNews.Value; tnNodeNews.Target = "frmRight"; tvNews.Nodes.Add(tnNodeNews); } }好像用框架 Asp.net 把页面中或web.config中得到的数据存入服务器缓存中 gridview中文本框中的特殊字符问题 关于ViewState的疑惑 正则表达式问题 急寻jmail高手(急) 麻烦帮帮小弟我!~~进者有分!~~~ messageBox的问题 讨论下搜索功能中, 输入的搜索条件,如何繁体转简体,繁简通用 asp.net repeater无刷新分页,e.commandargument取值不对 如何限制File Field上传的文件格式只能是mpg、mpeg和htm、html? ASP.NET用什么控件做类似WINDOWS资源管理器的界面比较好? 难题等待你来!
{
SqlConnection tempConnection = new SqlConnection(m_ConnectionString);
tempConnection.Open();
try
{
DataSet tempSet = new DataSet();
SqlDataAdapter tempAdapter = new SqlDataAdapter("GetTree", tempConnection);
tempAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
tempAdapter.SelectCommand.Parameters.AddWithValue("@parentId", int.Parse(parentNode.Value));
tempAdapter.Fill(tempSet); foreach (DataRow row in tempSet.Tables[0].Rows)
{
TreeNode tempNode = new TreeNode();
tempNode.Text = row["name"].ToString();
tempNode.Value = row["id"].ToString(); parentNode.ChildNodes.Add(tempNode); BuildTree(tempNode);
} }
finally
{
if (tempConnection.State == ConnectionState.Open)
tempConnection.Close();
}
}
递归参考以上代码
安装后,通过“自定义工具箱”->“.net框架组件”把TreeView添加到工具箱里
http://mydotnet.blog.edu.cn/user2/welldone/archives/2006/1147835.shtml
{
DataTable dtMenuNews = TypesManager.GetTypeByParentAndCategory(CTypesCategory.News.ID, 0);
DataRow[] drMenuNews = dtMenuNews.Select("ParentID=0");
for (int i = 0; i < drMenuNews.Length; i++)
{
TreeNode tnNodeNews = new TreeNode();
tnNodeNews.Expanded = false;
tnNodeNews.Text = UtilTool.ToSafeString(drMenuNews[i]["Name"]);
tnNodeNews.Value = UtilTool.ToSafeString(drMenuNews[i]["ID"]);
tnNodeNews.NavigateUrl = "NewsRight.aspx?NewsTypeID=" + tnNodeNews.Value;
tnNodeNews.Target = "frmRight";
tvNews.Nodes.Add(tnNodeNews);
}
}
好像用框架