用DataRow元素填充MVC 4中的SELECT元素

本文关键字:元素 中的 SELECT 填充 DataRow MVC | 更新日期: 2023-09-27 18:02:44

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

谢谢!

用DataRow元素填充MVC 4中的SELECT元素

有办法。首先,把你的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)

您正在寻找的帮助器是这些

@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)