C#MVC中的多阵列
如何使用format Array在C#MVC中创建数据数组:C#MVC中的多阵列,c#,asp.net-mvc,C#,Asp.net Mvc,如何使用format Array在C#MVC中创建数据数组: MenuHeader MenuDetail, Attribute1, Attribute2 MenuHeader2 MenuDetail, Attribute1, Attribute2 MenuDetail, Attribute1, Attribute2 MenuDetail, Attribute1, Attribute2 请帮忙 谢谢。通常菜单不是按数组组织的,因为它们可以相互嵌套,所以它们具有层次
MenuHeader
MenuDetail, Attribute1, Attribute2
MenuHeader2
MenuDetail, Attribute1, Attribute2
MenuDetail, Attribute1, Attribute2
MenuDetail, Attribute1, Attribute2
请帮忙
谢谢。通常菜单不是按数组组织的,因为它们可以相互嵌套,所以它们具有层次结构,一种可能的方法是创建一个类
class MenuItem
{
public MenuItem[] Childs { get; set; }
public String Detail { get; set; }
public String[] Attributes { get; set; }
}
public class MenuItems
{
public int MenuId { get; set; }
public string MenuName { get; set; }
public string MenuAttribute { get; set; }
public List<MenuItems> MenuChild { get; set; }
}
我从来没有使用过菜单等,我不知道正确的方法,但你可以做的是: 第一步 创建一个具有三个属性的类
class MenuDetailsAndAttributes
{
public MenuDetail menudetail ;
public Attribute attribute1 ;
public Attribute attribute2 ;
public MenuDetailsAndAttributes(/*some parametrs maybe*/)
{
menudetail = new MenuDetail(/*I dont know what to put here, you will need to work them out yourself*/);
attribute1 = new Attribute();
attribtue2 = new Attribute();
}
}
步骤2
然后再上一节课
class HeaderAndDetails
{
MenuHeader header;
public List<MenuDetailsAndAttributes> list;
public HeaderAndDetails()
{
header = new MenuHeader();
list = new List<MenuDetailsAndAttributes>();
}
}
将该类的列表与MenuHeader
组合,创建一个新类,并创建该类的列表,以便您可以任意多次使用它
我想这是非常错误的,不必要的长,但你可以完成它。谢谢你的回复
Array
(
[0] => Array
(
[MenuId] => 1
[MenuName] => Menu Header
[MenuAttribute] =>
[MenuChild] => Array
(
[0] => Array
(
[MenuId] => 6
[MenuName] => Sub Menu 1
[MenuIcon] =>
[MenuLink] =>
[MenuModule] => "ModulMenu1"
)
[1] => Array
(
[MenuId] => 7
[MenuName] => Sub Menu 2
[MenuIcon] =>
[MenuLink] =>
[MenuModule] => "ModulMenu2"
)
)
)
[1] => Array
(
[MenuId] => 2
[MenuName] => Configuration
[MenuAttribute] =>
[MenuChild] => Array
(
[0] => Array
(
[MenuId] => 14
[MenuName] => Sub Menu 2-1
[MenuIcon] =>
[MenuLink] =>
[MenuModule] => "ModulMenu2-1"
)
[1] => Array
(
[MenuId] => 15
[MenuName] => Sub Menu 2-2
[MenuIcon] =>
[MenuLink] =>
[MenuModule] => "ModulMenu2-2"
)
[2] => Array
(
[MenuId] => 16
[MenuName] => Sub Menu 2-3
[MenuIcon] =>
[MenuLink] =>
[MenuModule] => "ModulMenu2-3"
)
)
)
)
这是一个我指的数据示例
谢谢。创建一个类
class MenuItem
{
public MenuItem[] Childs { get; set; }
public String Detail { get; set; }
public String[] Attributes { get; set; }
}
public class MenuItems
{
public int MenuId { get; set; }
public string MenuName { get; set; }
public string MenuAttribute { get; set; }
public List<MenuItems> MenuChild { get; set; }
}
公共类菜单项
{
public int MenuId{get;set;}
公共字符串菜单名{get;set;}
公共字符串MenuAttribute{get;set;}
公共列表菜单child{get;set;}
}
然后像这样使用它
List<MenuItems> data = new List<MenuItems>();
列表数据=新列表();
并在嵌套循环中填充列表。我认为您需要添加更多细节,甚至是示例数据,以明确数据结构应该是什么样子。从我所看到的情况来看,阵列在这里并不是一个好主意。我也不确定这是否是一个关于mvc的问题。。。看起来更像是一个关于类如何工作的问题…您好,基本上,我用数组制作了一个菜单列表。。但是如果有其他方法来定义它,我希望实现它。是的,请在页面顶部查看我的答案