ASP菜单,添加子菜单的问题

时间:2013-11-22 15:13:21

标签: c# asp.net sql webforms

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

这是日期,问题是将数字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);对象未设置为实例。

0 个答案:

没有答案