private void Page_Load(object sender, System.EventArgs e)
{
//jiaofenw.Blue.Class.Usercheck.CheckUser(this);
if(!IsPostBack)
{
SqlConnection conn = new SqlConnection (ConfigurationSettings.AppSettings["Connstr"]);
conn.Open();
string sqlstr = "select Class_name,ID,ChildNum from ClassTab where Class_ID=0 order by Menu_by asc";
SqlCommand cmd = new SqlCommand(sqlstr,conn);
SqlDataReader dr = cmd.ExecuteReader();
while(dr.Read())
{
Class_menu.Items.Add(new ListItem(("┣")+dr["Class_name"].ToString(),dr["id"].ToString()));
if((int)dr["ChildNum"]!=0)
{
smallClass((long)dr["id"],"┃");
}
}
conn.Close();
}
}private void smallClass(long classId,string tempStr)
{
SqlConnection conn = new SqlConnection (ConfigurationSettings.AppSettings["Connstr"]);
conn.Open();
string sqlstr = "select Class_name,Class_ID,ID,ChildNum from ClassTab where Class_ID="+ classId +"";
SqlCommand cmd = new SqlCommand(sqlstr,conn);
SqlDataReader dr = cmd.ExecuteReader();
while(dr.Read())
{
Class_menu.Items.Add(new ListItem((tempStr+"┣")+dr["Class_name"].ToString(),dr["id"].ToString()));
if(((int)dr["ChildNum"]!=0))
{
tempStr =tempStr +"┃";
smallClass((long)dr["ID"],tempStr);
}
}
字段说明:
Class_name:栏目中文名称
Class_ID:父栏目的ID
ID:栏目ID
ChildNum:是否包含子类1为包含正确的显示结构应该为
┣中国胶粉网
┃┣本站公告
┃┣企业园地
┃┃┣企业之窗
┃┃┣企业动态
┃┣行业资讯
┃┃┣行业咨询1
但上段程序运行之后结构为
┣中国胶粉网
┃┣本站公告
┃┣企业园地
┃┃┣企业之窗
┃┃┣企业动态
┃┃┣行业资讯
┃┃┃┣行业咨询1

解决方案 »

  1.   

    while(dr.Read())是不是应该改成if(dr.Read())
    ===========================回复人: epsds(酷疯子) ( ) 信誉:100  2006-2-15 1:05:50  得分: 0  
     
     
       
    今天过节怎么人这么少?先闪了明天来结帖
    ===========================
    晕,昨天才是情人节吧!  
     
      

  2.   

    while(dr.Read())是不是应该改成if(dr.Read())
    oldmoon(浪者)这样不行的  继续顶帖  请大家帮忙