我有一个asp.net mvc4应用程序,我有这个观点:
@Html.DropDownList("chef",new SelectList(Model,"Id_user","DName"+ " " +"DFirstName" ))
我的模型是对象列表User
public class User
{
public int Id_user
{
get;
set;
}
public string DFirstName
{
get;
set;
}
public string DName
{
get;
set;
}
}
我需要在选择项中显示两个字段 DName 和 DFirstName ,我收到此错误
System.Web.HttpException: DataBinding : 'Projet.Models.Administration.User' does not contain a property called 'DName DFirstName'.
当我尝试显示一个独特的字段时,它可以工作。
答案 0 :(得分:4)
您需要更改模型以公开具有此get
的属性:
get { return string.Format("{0} {1}", DName, DFirstName);
然后绑定到该新属性。
答案 1 :(得分:2)
您获得异常的原因是Html帮助器方法使用反射来尝试在其绑定源(您的"DName DFirstName"
类)上找到名称为User
的属性,并且此属性不会存在。
而是创建一个名为fullName
的新属性get { return DName + " " + DFirstName; }
然后使用它作为显示成员。