Listboxfor MVC3 Razor。用户从数据库字段中选择

时间:2011-06-07 21:28:46

标签: asp.net-mvc-3 razor

我正在使用Razor MVC3项目

我有一个模特

public class ProductFormatModel
{
    public int ID {get; set;}

    public string SerialID { get; set; }

    public ProductTypes ProductType { get; set; }

    public List<ProductComponent> Components { get; set; }
}

ProductComponent类有两个属性:int ID和string Description。

我希望控制器使用ProductFormatModel类型的强类型视图来创建新的ProductFormatModel。 Create视图应如下所示:

  • 要插入SerialID(已完成)的文本字段
  • 用于选择枚举器ProductType(已完成)
  • 的值的下拉列表
  • 包含不同行的列表框,显示ProductComponent的“描述”属性。每一行都应在数据库中显示一条记录。用户必须能够选择一行或多行,这样“属性”组件应该在列表中包含这些对象。

数据库是一个简单的DbContext。 MyDB.Components为我提供了表“Components”的记录集

如何将记录集的值从控制器传递到视图? 我应该使用multiselectlist调用listboxfor吗? 我应该在模型中添加另一个属性,例如List ComponentsToBeSelected,我可以在其中传递列表吗?

1 个答案:

答案 0 :(得分:2)

一种可能的设计:

在视图中使用两个列表框。在ProductComponent中加载第一个 not model.Components,并使用ListBoxFor将第二个绑定到model.Components列表。

在列表之间放置两个按钮,添加删除。用jQuery连接它们以在两个列表框之间移动项目。