代码之家  ›  专栏  ›  技术社区  ›  Frank Martin

在控制器中使用模型时,初始值设定项成员声明符无效

  •  0
  • Frank Martin  · 技术社区  · 7 年前

    我想做一个标准的菜单,它有主菜单项,里面有这样的子菜单项。我使用的是MVC5。当我在控制器内部使用我的模型时,我得到了这个错误 Invalid initializer member declarator

    链接1

    关于

    链接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 回复  |  直到 7 年前
        1
  •  4
  •   pfx    7 年前

    sMenu 不是一个 Type 用作泛型类型参数 T 在里面 List<T> ;
    这只是你的财产吗 MenuModel .
    它的 SubMenu .

    var menu = new List<MenuModel>
    {
        new MenuModel
        {
              MainMenu = "Home",
              sMenu = new List<SubMenu> {},               
        },
        new MenuModel
        {
              MainMenu = "About"
        }
    }.ToList();