我使用MVC 3创建了一个应用程序。我有一个表包含对另一个表的引用。像。的东西。
Clients Reports
------- ------------
ID ID
Name Description
Client_Id
有没有办法让@Html.EditorFor(model => model.Client_Id)
显示一个带有客户名称的选择框,而不是用于输入实际ID值的文本框?
答案 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/