用DataRow元素填充MVC 4中的SELECT元素
本文关键字:元素 中的 SELECT 填充 DataRow MVC | 更新日期: 2023-09-27 18:02:44
我有一个应用程序,正在查询数据库并获得DataTable
。我需要在我的视图中创建一个<select>
,其<option>
元素依赖于DataTable
中的DataRow
元素。我的问题是,是否有一种方法来使用HTML助手来构建这种<select>
?如果有,怎么做?我不是很熟悉HTML帮助程序。
谢谢!
有办法。首先,把你的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)