1

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

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

我有 ItemModel 类,它有两个属性 - Name (string) 和 GroupId (int)。我的视图是对 ItemModel 的强类型。

我的问题如下:我应该如何传递应该在 DropDownList 中作为选项呈现的有效组列表?我应该为此在 ItemModel 中创建另一个属性,还是使用 ViewBag 传递它或做其他事情?

4

1 回答 1

1

在您的控制器中添加:

ViewBag.MyGroups = new SelectList(db.Groups.Where(t => t.TGroupId == "1").ToList(), "MyGroups", "Description", 1);

在您添加的视图中:

@Html.DropDownList("MyGroups ");

基本上,创建一个新的选择列表并将其传递给 ViewBag。

于 2012-08-11T11:06:03.987 回答