在控制器中使用模型时初始化程序成员声明符无效
Invalid initializer member declarator when using model in controller
我正在尝试制作一个标准菜单,其中包含主菜单项,其中包含像这样的子菜单项。我正在使用 MVC 5。当我在控制器中使用我的模型时,我收到此错误 Invalid initializer member declarator
。菜单将类似于:
首页
链接1
链接 2
关于
链接3
Link4
以下是我的模型class:
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
这样?
sMenu
不是要在 List<T>
中用作通用类型参数 T
的 Type
;
sMenu
只是 MenuModel
上的 属性。
它的 Type
是 SubMenu
.
应该是:
var menu = new List<MenuModel>
{
new MenuModel
{
MainMenu = "Home",
sMenu = new List<SubMenu> {},
},
new MenuModel
{
MainMenu = "About"
}
}.ToList();
我正在尝试制作一个标准菜单,其中包含主菜单项,其中包含像这样的子菜单项。我正在使用 MVC 5。当我在控制器中使用我的模型时,我收到此错误 Invalid initializer member declarator
。菜单将类似于:
首页
链接1
链接 2
关于
链接3
Link4
以下是我的模型class:
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
这样?
sMenu
不是要在 List<T>
中用作通用类型参数 T
的 Type
;
sMenu
只是 MenuModel
上的 属性。
它的 Type
是 SubMenu
.
应该是:
var menu = new List<MenuModel>
{
new MenuModel
{
MainMenu = "Home",
sMenu = new List<SubMenu> {},
},
new MenuModel
{
MainMenu = "About"
}
}.ToList();