请问各位:有何方法可以实现CSDN论坛左侧的菜单? 如题.PS:能实现类似效果即可..(辛苦了...) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 treeview 就可以实现的。我有些代码,本人觉得还不错前台:<asp:TreeView ID="treelist" runat="server" ExpandDepth="0" Font-Size="12px" Width="100%"> <LeafNodeStyle HorizontalPadding="3px" NodeSpacing="3px" /> <NodeStyle NodeSpacing="3px" /> </asp:TreeView>后台://实现的是两级菜单,CSDN也是两级的。protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { using (SqlConnection sqlcon = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction)) { sqlcon.Open(); SqlCommand sqlcom = new SqlCommand("select * from bbs_master_table", sqlcon); SqlDataReader reader = sqlcom.ExecuteReader(); while (reader.Read()) { TreeNode node = new TreeNode(reader["name"].ToString().Trim(), reader["id"].ToString().Trim(), "image/folder.gif", "bbs_list_style.aspx?id=" + reader["id"].ToString().Trim() + "&name="+HttpUtility.UrlEncode(reader["name"].ToString().Trim())+"","right"); using (SqlConnection sqlconChild=new SqlConnection(SqlHelper.ConnectionStringLocalTransaction)) { sqlconChild.Open(); SqlCommand sqlcomchild = new SqlCommand("select * from bbs_child_table where priid=" + reader["id"].ToString().Trim() + "", sqlconChild); SqlDataReader readerchild = sqlcomchild.ExecuteReader(); while (readerchild.Read()) { TreeNode nodeChild = new TreeNode(readerchild["cname"].ToString().Trim(), readerchild["id"].ToString().Trim(), "image/child.gif", "bbs_list_content.aspx?id=" + readerchild["id"].ToString().Trim() + "&name=" + HttpUtility.UrlEncode(readerchild["cname"].ToString().Trim()) + "", "right"); node.ChildNodes.Add(nodeChild); } readerchild.Close(); } treelist.Nodes.Add(node); } } }说明:bbs_master_table 字段有:id 编号name 第一级列表名bbs_child_table字段有:id 编号priid 外键号---对应的主键表为bbs_master_table 中的idcname 第二级列表名image/folder.gif child.gif等为节点的图片。若想更多美观的话加一点CSS样式就可以了。 用treeview就好了不过没有按钮 用AJAXToolKit的TabContainer控件 + TreeView + FrameSet 即可实现。 在线等待...使用html控件获取上传文件的路径,不适用服务器端控件,如何实现上传 TextBox的乱码问题 怎么判断sql2005里数据库是否正确连接啊? Asp.net连接Access数据库的问题??? 用C#或者.net加载一棵树 如何在repeater显示分行的文本 gridview中绑定时间,怎么算它们之间的时间差 两个VS。NET中的ASP。NET FORM 编辑的问题; 如何不让IE打开EXCEL文件,而是下载 关于Execl中Chartspace控件的使用? 隐藏flv地址的解决方案 看我的程序哪里错误了啊?
前台:
<asp:TreeView ID="treelist" runat="server" ExpandDepth="0" Font-Size="12px" Width="100%">
<LeafNodeStyle HorizontalPadding="3px" NodeSpacing="3px" />
<NodeStyle NodeSpacing="3px" />
</asp:TreeView>
后台://实现的是两级菜单,CSDN也是两级的。
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
using (SqlConnection sqlcon = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction))
{
sqlcon.Open();
SqlCommand sqlcom = new SqlCommand("select * from bbs_master_table", sqlcon);
SqlDataReader reader = sqlcom.ExecuteReader();
while (reader.Read())
{
TreeNode node = new TreeNode(reader["name"].ToString().Trim(), reader["id"].ToString().Trim(), "image/folder.gif", "bbs_list_style.aspx?id=" + reader["id"].ToString().Trim() + "&name="+HttpUtility.UrlEncode(reader["name"].ToString().Trim())+"","right");
using (SqlConnection sqlconChild=new SqlConnection(SqlHelper.ConnectionStringLocalTransaction))
{
sqlconChild.Open();
SqlCommand sqlcomchild = new SqlCommand("select * from bbs_child_table where priid=" + reader["id"].ToString().Trim() + "", sqlconChild);
SqlDataReader readerchild = sqlcomchild.ExecuteReader();
while (readerchild.Read())
{
TreeNode nodeChild = new TreeNode(readerchild["cname"].ToString().Trim(), readerchild["id"].ToString().Trim(), "image/child.gif", "bbs_list_content.aspx?id=" + readerchild["id"].ToString().Trim() + "&name=" + HttpUtility.UrlEncode(readerchild["cname"].ToString().Trim()) + "", "right");
node.ChildNodes.Add(nodeChild);
}
readerchild.Close();
}
treelist.Nodes.Add(node);
}
}
}
说明:
bbs_master_table 字段有:
id 编号
name 第一级列表名bbs_child_table字段有:
id 编号
priid 外键号---对应的主键表为bbs_master_table 中的id
cname 第二级列表名image/folder.gif child.gif等为节点的图片。
若想更多美观的话加一点CSS样式就可以了。
用treeview就好了
不过没有按钮