我一直这样DropDownListFor
用
Html.DropDownListFor(m => m.PropertyOfTheModel, SelectionList)
只要您知道要在其上构建下拉列表的属性的确切名称(在本例中为:),此方法就可以正常工作PropertyOfTheModel
。
现在我有一个不同的任务。我的模型包含一个固定属性,声明为object
并调用FormModel
。使用反射假设我想为FormModel
. 由于我设法解决了该SelectionList
部分的属性,我现在必须编写第一个参数,但我不知道如何去做。
foreach (var property in Model.FormModel.GetType().GetProperties())
{
@Html.DropDownListFor(m => m.FormModel.GetType().GetProperty(property.Name), SelectList)
}
上面的代码不起作用:我应该怎么写?我没有编写 lambda 表达式的经验:是否有任何替代方法可以生成一个下拉列表,selected
只需传入属性和选择列表即可自动获取正确的属性?还是我必须写表达式?谢谢!
这是我得到的错误:
模板只能与字段访问、属性访问、一维数组索引或单参数自定义索引器表达式一起使用。