繁体   English   中英

在Asp.net mvc4应用程序的Html.DropDownList中显示两个字段

[英]Display two fields in Html.DropDownList within Asp.net mvc4 application

我有一个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;
    }
}

我需要在选择项中显示两个字段DNameDFirstName ,出现此错误

System.Web.HttpException: DataBinding : 'Projet.Models.Administration.User' does not contain a property called 'DName  DFirstName'.

当我尝试显示唯一字段时,它会起作用。

  1. 这个问题的原因是什么?
  2. 我该如何解决?

你需要改变你的模型揭露具有此属性get

get { return string.Format("{0} {1}", DName, DFirstName);

然后绑定到该新属性。

出现异常的原因是Html帮助器方法使用反射来尝试在其绑定源(您的User类)上找到名称为"DName DFirstName"的属性,而该属性不存在。

而是创建一个名为say FullName的新属性。

get { return DName + " " + DFirstName; }

然后使用它作为显示成员。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM