Неверный декларатор члена инициализатора при использовании модели в контроллере - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь создать стандартное меню, в котором есть пункт ГЛАВНОЕ МЕНЮ, и внутри него есть элементы SUB MENU, подобные этому.Я использую MVC 5. Когда я использую свою модель внутри контроллера, я получаю эту ошибку Invalid initializer member declarator.Меню будет выглядеть примерно так:

Домой

Ссылка1
Ссылка2

О

Ссылка3
Ссылка4

мой класс модели:

namespace MyWebsite.Models
{
    public class SubMenu
    {
        public string Title { get; set; }
        public Uri Link { get; set; }
    }

    public class MenuModel
    {
        public string MainMenu { get; set; }
        public List<SubMenu> sMenu { get; set; }
    }
}

А вот код моего контроллера:

public ActionResult MakeMenu()
{
      var menu = new List<MenuModel>
      {
            new MenuModel
            {
                  MainMenu = "Home",
                  new List<sMenu> //getting error on this line that 'Invalid initializer member declarator'
                  {

                  }
            },
            new MenuModel
            {
                  MainMenu = "About"
            }
      }.ToList();

      return View(menu);
  }

Почему я не смог sMenu таким образом?

1 Ответ

0 голосов
/ 04 декабря 2018

sMenu не является Type для использования в качестве параметра универсального типа T в List<T>;
sMenu - это просто свойство вашего MenuModel.
Его TypeSubMenu.

Должно быть:

var menu = new List<MenuModel>
{
    new MenuModel
    {
          MainMenu = "Home",
          sMenu = new List<SubMenu> {},               
    },
    new MenuModel
    {
          MainMenu = "About"
    }
}.ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...