我有一个应用程序正在查询数据库并获取DataTable
. 我需要<select>
在我的视图中创建一个其<option>
元素依赖DataRow
于DataTable
. 我的问题是,有没有办法使用 HTML Helpers 来构建这种<select>
?如果是这样,怎么做?我对 HTML 助手不是很熟悉。
谢谢!
我有一个应用程序正在查询数据库并获取DataTable
. 我需要<select>
在我的视图中创建一个其<option>
元素依赖DataRow
于DataTable
. 我的问题是,有没有办法使用 HTML Helpers 来构建这种<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)