MVC 3.获取EditorFor函数以显示选择框而不是ID的文本框

时间:2011-05-26 20:46:02

标签: asp.net-mvc-3

我使用MVC 3创建了一个应用程序。我有一个表包含对另一个表的引用。像。的东西。

Clients              Reports
-------              ------------
ID                   ID
Name                 Description
                     Client_Id

有没有办法让@Html.EditorFor(model => model.Client_Id)显示一个带有客户名称的选择框,而不是用于输入实际ID值的文本框?

1 个答案:

答案 0 :(得分:2)

制作一个强类型的IEnumerable<SelectListItem>视图并将其放入视图中 - &gt;共享 - &gt; EditorTemplates并将其称为YourReferencedModelList或类似的东西。该视图应根据传入的选项列表为您呈现下拉列表:

Html.DropDownListFor(m => m, Model)

最后,将提示添加到原始模型中:

[UIHint("YourReferencedModelList")]
public IEnumerable<SelectListItem>

您可以在此处找到完整的说明:http://www.nickriggs.com/posts/rendering-and-binding-drop-down-lists-using-asp-net-mvc-2-editorfor/