问题标签 [html.dropdownlistfor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
78320 浏览

asp.net-mvc - 带有默认空选项的 ASP.NET MVC 下拉菜单

如果下拉列表没有选定值,有没有办法包含默认的空选项(或带有文本)?

0 投票
1 回答
793 浏览

asp.net-mvc-2 - 当您有对象列表时,使用 Html.DropDownListFor 的最佳方法是什么?

在我的视图模型中,如果有:

其中汽车有一个ID和一个名字。我想使用创建一个下拉框

什么是最好的连接方式,因为我希望项目的值是 ID,显示是汽车的名称。

0 投票
1 回答
461 浏览

asp.net-mvc - 增量排序 DropDownListFor 绑定?

我正在对表单中的对象集合使用增量排序。除非我需要使用 DropDownListFor,否则一切正常。很多关于绑定下拉列表和选择正确值的问题,在我的情况下工作正常。但是,我不清楚我的控制器中的 HttpPost 操作应该有什么。这是我的代码:

模型

看法

发布动作

下拉列表填充得很好,它们被预先选择得很好。但在回发 form.Requests.AssignedTo 为空。我假设车辆 ID 被发布回某处,但是我如何在不通过Request魔术字符串循环的情况下实现这一点:

0 投票
1 回答
1392 浏览

asp.net-mvc-2 - EditorTemplate 中的 ASP.Net MVC 2 DropDownListFor

我有一个看起来像这样的视图模型:

它具有 Category 和 CategoryList 属性。CategoryList 是 Category 下拉 UI 元素的源数据。

我有一个如下所示的 EditorTemplate:

注意:此 EditorTemplate 是 ProductViewModel 的强类型

我的控制器正在使用数据库中的数据填充 CategoryList 属性。

我无法获取 DropDownListFor 模板来呈现包含 CategoryList 数据的下拉列表。我知道 CategoryList 在控制器中填充了数据,因为我在调试和单步执行控制器时看到了数据。

这是我在浏览器中的错误消息:

“/”应用程序中的服务器错误。你调用的对象是空的。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.NullReferenceException:对象引用未设置为对象的实例。

源错误:

第 2 行:<%@ Import Namespace="AutoForm.Models"%> 第 3 行:第 4 行:<%=Html.DropDownListFor(m => m.Category, Model.CategoryList) %>

源文件:c:\ProjectStore\AutoForm\AutoForm\Views\Shared\EditorTemplates\DropDownList.ascx 行:4

有任何想法吗?

谢谢

汤姆


作为后续,当我单步执行 EditorTemplate 中的代码时,我注意到 ViewData.Model 为空。我将 EditorTemplate 强类型化为“ProductViewModel”,这也是传递给控制器​​中视图的类型。我对为什么 ViewData.Model 为空感到困惑,即使它在传递给视图之前已在控制器中填充。

0 投票
1 回答
951 浏览

asp.net-mvc - 如何从 ASP.NET MVC2 中的 DropDownListFor html 助手中检索值?

我知道关于 DropDownListFor 的类似问题很少,但都没有帮助我......

我在我的项目中使用实体框架作为 ORM。有一个名为“Stete”的 EF 模型。Stete 在名为“Drustva”的 EF 模型上有 Foreign

现在我正在尝试为 Stete 模型制作一个用于编辑数据的表单。我设法显示了所有内容,包括 Stete.Drustva.Naziv 属性,但我无法在处理程序方法 [HttpPost] 中获得最后一个属性。无论我在下拉列表中选择什么,它总是返回 0。

这是代码:

德鲁斯瓦控制器:

Stete控制器:

编辑视图:

我很抱歉没有将物品的名称翻译成英文,但它们几乎没有适当的翻译。如有必要,我可以尝试创建类似的示例...

0 投票
3 回答
3475 浏览

asp.net-mvc - Html.DropDownListFor 行为不符合预期 ASP.net MVC

我是 ASP.net MVC 的新手,我无法让下拉列表正常工作。

我有一个试图使用 Html.DropDownListFor 的强类型视图,如下所示:

我正在使用模型中的属性填充列表,如下所示:

Select Case 可以找到并将正确的 SelectListItem 设置为 Selected,但是当我的视图呈现下拉列表时,无论标记为已选择的内容,生成的 HTML 都没有选择任何内容。

我显然做错了什么或错过了什么,但我无法终生弄清楚是什么。

0 投票
7 回答
371735 浏览

c# - 如何编写一个简单的 Html.DropDownListFor()?

在 ASP.NET MVC 2 中,我想编写一个非常简单的下拉列表,它提供静态选项。例如,我想提供“红色”、“蓝色”和“绿色”之间的选择。

0 投票
2 回答
2198 浏览

entity-framework - 在 ASP.NET MVC 解决方案中使用实体框架保存下拉列表选择

我正在寻找有关下拉列表选择的体面模式和 POCO EF 选择持久性的建议。

我的视图模型中有一个列表,IEnumerable<Country>其中 Country 是通过 EF 加载的 POCO。视图模型上有一个 Address 属性,它在其 Country 属性上采用当前或用户选择的值。在视图中,我通过 Html.DropdownListFor() 显示这些:

到目前为止一切都很好,并且默认 ModelBinder 为我提供了一个填充了 Address.Country 的视图模型,这一切都适用于回发。但是 Address.Country 当然只填充了具有默认模型绑定的 Id 字段。

尝试通过 EF 将地址更新发送回数据库会失败,因为这被视为一个新对象,它没有加载完整的对象图,只有 Id 集。

现在我可以通过在基于所选 ID 保存之前将完整的 Country 对象从 db 加载到回发时的 Address.Country 属性中来解决此问题。但是对于一个简单的对象图之外的任何东西,这似乎都是一项艰巨的工作。

我能想到的最“优雅”的解决方案是 Country 的自定义模型绑定器,但这需要模型绑定器了解用于检索完整 EF 对象的存储库,这对我来说似乎不合适。我还必须对下拉列表中使用的所有其他实体重复此操作。

希望这是有道理的,任何关于其他人如何做到这一点的反馈将不胜感激。

0 投票
2 回答
5280 浏览

c# - ASP.NET MVC:DropDownListFor 不选择任何选项

我有这个来填充 ASP.NET MVC 视图中的下拉列表。

调试这个我可以看到该Selected属性设置为true应该的时间。但是当视图被渲染时,列表中的选项都没有被选中。我意识到这可以通过另一个重载来完成,DropDownListFor但我真的想让这个版本正常工作。

有任何想法吗?

0 投票
1 回答
767 浏览

c# - DropDownListFor 没有“指定的参数超出有效值的范围”

在我的一个观点中,我想输出一个文本框:

如果 Model.Foo 为空,这会给我错误“指定参数超出有效值范围”。

我已经尝试过使用相同的模型,但使用了一个下拉列表:

没有错误...

这不是一个真正的问题,但我认为这是一种奇怪的行为,我希望这里有人能给我一个解释。