日期:2014-05-18  浏览次数:20427 次

如何实现导航栏的功能
如何实现导航栏的功能,差不多就像csdn社区左侧那种,点击大类,小类就在下面列出来。

最好是有代码,没有的话讲点思路也好。

------解决方案--------------------
用asp.net2.0自带的treeview控件啊
------解决方案--------------------
控件. 搜索 树形控件
------解决方案--------------------
用数据库记录节点也行 用XML文件也行 给你个例子吧
sql:
---------------------------------
ChildNodeID ChildNodeName ParentID
1 a
2 b
3 a1 1
4 a2 1
5 b1 2
6 a11 3
C#代码
---------------------------------------------------
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.NodeBind();//页面加载时解析数据库绑定TreeNode根节点
this.DisPanel(true);//显示或不显示
}
}

#region//数据库连接字符串
public void conString()
{
string conStr = "server=.;uid=sa;pwd=;database=Demo ";
con = new SqlConnection(conStr);
}
#endregion

#region//页面加载时绑定TreeNode根节点
public void NodeBind()
{
this.tvadd.Nodes[0].ChildNodes.Clear();//清空TreeView中所有节点
this.tvadd.Nodes[0].Expanded = true;//设置根节点为展开形式
this.AddChildNode( "NULL ",this.tvadd.Nodes[0]);
}
#endregion

#region//递归解析数据库中节点并绑定在TreeView控件上
/// <summary>
/// 递归解析数据库中节点并绑定在TreeView控件上
/// </summary>
/// <param name= "sqltj "> 要解析库这个节点归属于哪个父节点 </param>
/// <param name= "tn "> 要添加下一级节点的父节点 </param>
public void AddChildNode(string sqltj,TreeNode tn)
{
string sql = "select * from AddNodes where ParentID ";//查询该父节点下还有无子节点SQL语句
if (sqltj == "NULL ")
{
sql += " IS NULL ";//也就是说是根节点下面的第一级子节点
}
else
{
sql += "= " + sqltj;//查询sqltj下有无子节点
}

DataTable dt = this.dtDataBind(sql);
if (dt.Rows.Count == 0)//说明此节点下无子节点
{
return;//退出
}
else
{
for (int i = 0; i < dt.Rows.Count; i++)//循环DataTable表中子节点记录
{
TreeNode tnchild = new TreeNode();//创建新的子节点
tnchild.Text = dt.Rows[i][1].ToString();//为新建子节点的文本赋值
tnchild.Value = dt.Rows[i][1].ToString();//为新建子节点的Value赋值
tnchild.Expanded = true;//设置为不展开节点
tn.ChildNodes.Add(tnchild);//添加此节点的下一级子节点
//递归调用,一直往下直到添加完这一级下面的所有子节点为止,再转到下一个父节点,并添加所有此父节点下面的所有子节点
//i代表DataTable表中循环记录,0代表取得这个记录的ID值,为下面继续检查这个ID下是否还有子目录
//tnchild递归传递给下一次调用此方法,此时如果这个节点下还有子节点,它便成为父节点,对它下面的子节点进行添加
this.AddChildNode(dt.Rows[i][0].ToString(),tnchild);
}
}
}
#endregion
----------------------------------------
------解决方案--------------------
XML:
---------------------------------------------------
<?xml version= "1.0 " encoding= "utf-8 " ?>
<school>
<class name= "classone ">
<student id= "1 ">
<name id= "tom " sex= "boy " />
</student>
<student id= "2 ">
<name id= "jey " sex= "boy " />
</student>