如何在视图中声明一个下拉框以在ASP.NET MVC中为模型设置值?

Pet*_*ros 10 asp.net-mvc

我想在ASP.NET MVC应用程序的视图中声明一个下拉框,以便让用户选择查找值.我知道如何申报纯文本框,但是有一个官方助手来声明下拉框(日期时间选择器和其他)吗?

我也不知道我应该将哪些结构传递给我的视图,以便将值提供给下拉框.我想我需要一个id和一个描述.

最后,如何将选定的ID从下拉框传递回控制器中的操作?

Kon*_*nos 4

如果您有一个包含描述和值 ( id ) 的产品类型表,您希望将其映射到下拉列表,请在控制器的操作中执行以下操作。

//Lets assume you retrieve your product types somehow here
ViewData["ProductTypes"] =  new List<ProductType>();
Run Code Online (Sandbox Code Playgroud)

然后在你的视图中输入以下内容

<%= Html.DropDownList("productType",
    new SelectList((IEnumerable)ViewData["ProductTypes"],
    "TypeID", "Description"))%>
Run Code Online (Sandbox Code Playgroud)

TypeID 和 Description 是指 ProductType 类型的对象的属性

另外,如果您安装了旧版本的 MVC,您可能找不到 Html.DropDownList,请在尝试此操作之前确保您有 Beta+ 版本。