【问题标题】:Invalid initializer member declarator when using model in controller在控制器中使用模型时初始化器成员声明器无效
【发布时间】:2018-12-04 18:16:30
【问题描述】:

我正在尝试制作一个标准菜单,其中包含 MAIN MENU 项目,其中包含这样的 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

【问题讨论】:

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


    【解决方案1】:

    sMenu 不是在List&lt;T&gt; 中用作泛型类型参数TType
    sMenu 只是MenuModel 上的属性。
    它的TypeSubMenu

    应该是:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2018-09-04
      • 1970-01-01
      • 2015-11-28
      相关资源
      最近更新 更多