在控制器中使用模型时,无效的初始化器成员声明器

时间:2018-12-04 18:16:31

标签: c# asp.net asp.net-mvc asp.net-mvc-5

我试图制作一个具有MAIN MENU项目的标准菜单,并且在其中包含SUB MENU这样的菜单。我正在使用MVC5。当我在控制器内部使用模型时,出现此错误Invalid initializer member declarator。菜单将类似于:

首页

Link1
链接2

关于

Link3
链接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 :(得分:2)

sMenu不是Type中用作通用类型参数T的{​​{1}};
List<T>只是您sMenu上的财产。
MenuModelType

应该是:

SubMenu