C# ASP菜单,添加子菜单时出现问题
我正在测试一个菜单,它是从数据库填充的。它工作正常,直到我在上一个子菜单下添加另一个子菜单 这是日期,问题是将数字8作为子菜单添加到数字6C# 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
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表单中声明