Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何在视图中声明下拉框以在ASP.NET MVC中为模型设置值?_Asp.net Mvc - Fatal编程技术网

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

Asp.net mvc 如何在视图中声明下拉框以在ASP.NET MVC中为模型设置值?,asp.net-mvc,Asp.net Mvc,我想在ASP.NET MVC应用程序的视图中声明一个下拉框,用于让用户选择查找值。我知道如何声明纯文本框,但是是否有官方帮助来声明下拉框(日期时间选择器和其他) 我也不知道应该将什么结构传递给视图,以便为下拉框提供值。我想我需要一个id和一个描述 最后,如何将所选id从下拉框传递回控制器中的操作?您可以查看Scott Guthrie的这篇博客文章。他在他的示例中使用了一个下拉列表 您也可以在下拉列表中提供一个复杂对象的列表(Scott Guthrie的示例没有说明这一点,但它暗示了这一点) 你可

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

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


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

您可以查看Scott Guthrie的这篇博客文章。他在他的示例中使用了一个下拉列表

您也可以在下拉列表中提供一个复杂对象的列表(Scott Guthrie的示例没有说明这一点,但它暗示了这一点)

你可以这样做

<%= Html.DropDownList("Select One", "CategoryId", ViewData.Model.Categories, "Id", "Name", ViewData.Model.SelectedCategoryId)) %>

“Id”和“名称”指的是ViewData.Model.Categories对象列表中的属性


如果SelectedCategoryId有一个值,那么它将默认为dropdownlist

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

//Lets assume you retrieve your product types somehow here
ViewData["ProductTypes"] =  new List<ProductType>();
//假设您在这里以某种方式检索产品类型
ViewData[“ProductTypes”]=新列表();
然后在视图中键入以下命令

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

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


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

我尝试了您的建议。问题是我找不到DropDownList。在文章中,它说我应该包括一些我在磁盘上找不到的MVC库。你知道我在哪里能找到它吗?考虑把标题从组合框改为下拉框。组合框是一个下拉框,其中包含一个用于输入新项目的文本框。希望在MVC中实现组合框的人在这里被误导了。看见