C# ASP菜单,添加子菜单时出现问题

C# ASP菜单,添加子菜单时出现问题,c#,asp.net,sql,webforms,C#,Asp.net,Sql,Webforms,我正在测试一个菜单,它是从数据库填充的。它工作正常,直到我在上一个子菜单下添加另一个子菜单 这是日期,问题是将数字8作为子菜单添加到数字6 ID MenuName MenuLoc ParentID 1 ParentItem1 NULL 0 2 ParentItem2 NULL 0 3 ParentItem3 NULL 0 4 SubMenuItem1 NULL 1 5 SubMenuItem2 N

我正在测试一个菜单,它是从数据库填充的。它工作正常,直到我在上一个子菜单下添加另一个子菜单

这是日期,问题是将数字8作为子菜单添加到数字6

ID      MenuName    MenuLoc ParentID
1   ParentItem1       NULL  0
2   ParentItem2       NULL  0
3   ParentItem3       NULL  0
4   SubMenuItem1      NULL  1
5   SubMenuItem2      NULL  1
6   SubMenuItem3      NULL  2
8   Sub               NULL  6
代码如下:

 private void getMenu()
      {
         DataSet ds = new DataSet();
          using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Portal"].ConnectionString))
        {
            SqlCommand sqlComm = new SqlCommand("Menu_Test", conn);

            sqlComm.CommandType = CommandType.StoredProcedure;

            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = sqlComm;

            da.Fill(ds);


            dt = ds.Tables[0];
        }
        DataRow[] drowpar = dt.Select("ParentID=" + 0);

        foreach (DataRow dr in drowpar)
        {
            menuBar.Items.Add(new MenuItem(dr["MenuName"].ToString(),
                    dr["ID"].ToString(), "",
                    dr["MenuLocation"].ToString()));
        }

        foreach (DataRow dr in dt.Select("ParentID >" + 0))
        {
            MenuItem mnu = new MenuItem(dr["MenuName"].ToString(), dr["ID"].ToString(),        "", dr["MenuLocation"].ToString());
            menuBar.FindItem(dr["ParentID"].ToString()).ChildItems.Add(mnu);


        }
    }

代码在以下行中崩溃:menuBar.FindItem(dr[“ParentID”].ToString()).ChildItems.Add(mnu);对象未设置为实例。

很抱歉,由于某些原因,该表在编辑模式之外无法正确显示。您正在使用菜单栏,但我在代码中的任何地方都没有看到它被声明。它是存在于函数之外的全局函数吗?否则,将抛出您得到的错误。它在web表单中声明