Asp.net mvc 4 将数据从控制器传递到视图

Asp.net mvc 4 将数据从控制器传递到视图,asp.net-mvc-4,Asp.net Mvc 4,假设我有一个创建新项目的视图。项仅由两个属性组成-名称和组 所以我想要一个有一个文本框和一个下拉列表的视图。我使用DropDownList是因为用户不应该在Group字段中键入他想要的任何内容-已经有一些预定义的组,View应该允许用户只选择一个组 我有一个ItemModel类,它有两个属性——Name(string)和GroupId(int)。我的视图被强类型化为ItemModel 我的问题如下:我应该如何传递一个有效组的列表,该列表应该作为DropDownList中的一个选项显示?我是否应该

假设我有一个创建新项目的视图。项仅由两个属性组成-名称和组

所以我想要一个有一个文本框和一个下拉列表的视图。我使用DropDownList是因为用户不应该在Group字段中键入他想要的任何内容-已经有一些预定义的组,View应该允许用户只选择一个组

我有一个ItemModel类,它有两个属性——Name(string)和GroupId(int)。我的视图被强类型化为ItemModel


我的问题如下:我应该如何传递一个有效组的列表,该列表应该作为DropDownList中的一个选项显示?我是否应该在ItemModel内为此创建另一个属性,或者使用ViewBag传递它或执行其他操作?

在控制器中添加:

ViewBag.MyGroups = new SelectList(db.Groups.Where(t => t.TGroupId == "1").ToList(), "MyGroups", "Description", 1);
在您添加的视图中:

@Html.DropDownList("MyGroups ");

基本上,创建一个新的selectionlist并将其传递给ViewBag。

在控制器中添加:

ViewBag.MyGroups = new SelectList(db.Groups.Where(t => t.TGroupId == "1").ToList(), "MyGroups", "Description", 1);
在您添加的视图中:

@Html.DropDownList("MyGroups ");

基本上,制作一个新的选择列表并把它传递给一个VIEWTABLE。

你从数据库表中得到组吗?你从数据库表中得到组吗?我知道它可以这样做,但是如果它是正确的方式(如果你考虑MVC设计模式),我就游荡了。我知道它可以这样做,但如果你做的是正确的方式(如果你考虑MVC设计模式),我会游手好闲。