Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#MVC中的多阵列_C#_Asp.net Mvc - Fatal编程技术网

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 请帮忙 谢谢。通常菜单不是按数组组织的,因为它们可以相互嵌套,所以它们具有层次

如何使用format Array在C#MVC中创建数据数组:

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的问题。。。看起来更像是一个关于类如何工作的问题…您好,基本上,我用数组制作了一个菜单列表。。但是如果有其他方法来定义它,我希望实现它。是的,请在页面顶部查看我的答案