使用DataRow元素在MVC 4中填充SELECT元素

时间:2013-03-07 19:04:29

标签: c# asp.net-mvc-4 datatable

我有一个应用程序正在查询数据库并获得DataTable。我需要在我的视图中创建<select><option>元素依赖于DataRow中的DataTable元素。我的问题是,有没有办法使用HTML帮助程序来构建这种<select>?如果是这样,怎么样?我对HTML助手并不是很熟悉。

谢谢!

2 个答案:

答案 0 :(得分:0)

有一种方法。首先,将DataTable放入SelectList。将SelectList放在模型类中,以及与用户选择相对应的属性(让我们称之为CarId)。

这就是您的模型的样子:

public class MyModel
{
    public SelectList Cars { get; set; }
    public int CarId { get; set; }
}

然后您可以在视图中使用DropDownListFor HTML Helper方法,如下所示(以下假设为Razor):

@Html.DropDownListFor(model => model.CarId, Model.Cars)

答案 1 :(得分:0)

您正在寻找的助手是这些

@Html.DropDownList
@Html.DropDownListFor

我发现使用它们的最简单方法是使用可枚举的选择列表

public IEnumerable<SelectListItem> DDLItems { get; set; }

我通常从实体填写,但你已经有了数据表。 你是如何得到那个数据表的?你能改变吗?

DDLItems = new SelectList(context.Table.ToList(),"ValueColumn","TextColumn",Model.Property);

如果你可以这样做,那么在你的观点上你可以做到这一点

@Html.DropDOwnListFor(model => model.Property, DDLList)