Мульти массив в C# MVC - PullRequest
0 голосов
/ 08 мая 2020

Как создать массив данных в C# MVC с массивом форматов:

MenuHeader
    MenuDetail, Attribute1, Attribute2
MenuHeader2
    MenuDetail, Attribute1, Attribute2
    MenuDetail, Attribute1, Attribute2
    MenuDetail, Attribute1, Attribute2

Пожалуйста, помогите.

Спасибо.

Ответы [ 4 ]

0 голосов
/ 04 сентября 2020

Создайте класс

    public class MenuItems
    {
         public int MenuId { get; set; }
         public string MenuName { get; set; }
         public string MenuAttribute { get; set; }
         public List<MenuItems> MenuChild { get; set; }
    }

Затем используйте его как

   List<MenuItems> data = new List<MenuItems>();

и заполните список вложенным l oop.

0 голосов
/ 08 мая 2020

Я никогда не использовал MenuDetails и тому подобное, и я понятия не имею, как это сделать, но вы можете сделать следующее:

Шаг 1

создать класс, который занимает три properties

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>();
    }
}

Шаг 4

Теперь вы можете писать тонны ненужного кода в добавить / удалить / установить / изменить и создать каждый класс внутри этих списков

Важное примечание

Надеюсь, вы понимаете, что я там сделал. Я пытался объединить

MenuDetail, Attribute1, Attribute2

в класс и объединить список этого класса с MenuHeader, создать новый класс и создать список этого класса, чтобы вы могли использовать его как много раз вы хотите.

Думаю, это очень неправильно и излишне долго, но вы можете это сделать.

0 голосов
/ 08 мая 2020

спасибо за ответ.

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"
                        )
                )
        )
)

Вот пример данных, я имею в виду ...

спасибо.

0 голосов
/ 08 мая 2020

Обычно меню не организованы в массив, потому что они могут быть вложены друг в друга, поэтому у них есть иерархия, один из возможных способов - создать класс

class MenuItem 
{
    public MenuItem[] Childs { get; set; }
    public String Detail { get; set; }
    public String[] Attributes { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...