【发布时间】:2012-03-06 18:46:45
【问题描述】:
可能重复:
How to get model's field name in custom editor template
当为特殊类型的实体输出编辑控件时,例如,让我们说一种颜色或其他东西:
@Html.EditorFor(product => product.Color)
我希望它输出一个下拉列表,所以我尝试创建一个自定义编辑器模板来呈现这样的下拉列表。这是我的模板到目前为止的样子:
@model MyProject.Models.Color
@using (var db = new MyProject.Models.DbContext())
{
@Html.DropDownList(???,
new SelectList(db.Colors, "Id", "Name", Model))
}
除了??? — 指定下拉列表的 HTML name 属性的参数,我必须放什么?
(出于显而易见的原因,不仅仅是"Color"。考虑为相同类型的不同字段多次调用相同的编辑模板,例如:
@Html.EditorFor(product => product.InnerColor)
@Html.EditorFor(product => product.OuterColor)
显然,这需要生成具有不同名称的下拉菜单。)
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 editortemplates