CREATE TABLE [dbo].[menu](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Title] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[url] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[description] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[ParentID] [int] NULL,
CONSTRAINT [PK_menu] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]GO
SET ANSI_PADDING OFFusing System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;public partial class treeviewlist : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
using (SqlConnection sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ConnectionString))
{
sqlconn.Open();
try
{
SqlDataAdapter myda = new SqlDataAdapter("select * from menu", sqlconn);
DataSet myds = new DataSet();
myda.Fill(myds);
this.ViewState["ds"] = myds;
}
catch (Exception ex)
{ Session["error"] = ex.ToString(); }
finally
{ sqlconn.Close(); }
addtree(0,(TreeNode)null);
}
}
public void addtree(int parentid, TreeNode pnode)
{
DataSet ds=(DataSet)this.ViewState["ds"];
DataView dv = new DataView(ds.Tables[0]); dv.RowFilter = "[parentid]=" + parentid; foreach (DataRowView row in dv)
{
TreeNode node = new TreeNode();
if (pnode == null)
{
node.Text = row["title"].ToString();
TreeView1.Nodes.Add(node);
node.Expanded = true;
addtree(Int32.Parse(row["id"].ToString()), node);
}
else
{
node.Text = row["title"].ToString();
pnode.ChildNodes.Add(node);
node.Expanded = true;
addtree(Int32.Parse(row["id"].ToString()), node); }
} }
}无限级树我已经实现了,可是我点击链接的时候会在下方自动生成一个无限级树,请问为什么?
解决方案 »
- 提问后没人回答只好再问
- aspnetpager分页 url问题
- asp.net传值问题
- GridView1里的CommandField链接问题
- Nhibernate下连接Access数据库,出现"找不到可安装的ISAM"的错误,怎么解决
- DataList来显示试题。列wa、wb、wc、wd分别是选项A、B、C、D的内容。不知道如何绑定?数据库为access
- 不好意思,菜鸟求助DATAGRID老问题
- _________数据库访问的效率请教,谢谢
- 怎么对个别文件应用独特的配置文件?
- 怎样写回数据库里?
- web2.0 自定义控件访问?
- 【求助】用服务器端控件table 我想在一列中添加超链接,请问该怎么做呢??
{
if(!Page.IsPostBack)
{
using (SqlConnection sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ConnectionString))
{
sqlconn.Open();
try
{
SqlDataAdapter myda = new SqlDataAdapter("select * from menu", sqlconn);
DataSet myds = new DataSet();
myda.Fill(myds);
this.ViewState["ds"] = myds;
}
catch (Exception ex)
{ Session["error"] = ex.ToString(); }
finally
{ sqlconn.Close(); }
addtree(0,(TreeNode)null);
}
}
}