下拉列表组合值

本文关键字:组合 下拉列表 | 更新日期: 2023-09-27 18:02:16

是否可以将实体中的下拉列表值组合在一起?

假设我有一个person类,其中包含Last Name和First Name

我已经试过了:

ViewBag.uservalues = new SelectList(db.Persons, "ID", "FirstName" + " " + "LastName");

下拉列表组合值

SelectList构造函数的调用

new SelectList(db.Persons,"ID", "FirstName"+" " + "LastName");

使用这个重载,这需要一个公共字段或属性的名称在你的ViewModel绑定,你可能没有一个字段或属性在你的ViewModel名为"FirstName LastName"。

在你的ViewModel类中添加一个连接两个字段的属性(称为FirstAndLastName),并在你的SelectList调用中指定该属性的名称。

new SelectList(db.Persons,"ID", "FirstAndLastName");

既然实体框架创建了分部类,你应该在相同的命名空间中创建另一个分部类,该分部类具有你想要使用的派生属性。

如果实体框架创建了一个类:

public partial class Person
{
    public String FirstName {get;set;}
    public String LastName{get;set;}
    public Int32 ID{get;set;}
}

创建一个新的分部类

public partial class Person
{
    public String FullName {get{ return this.FirstName + " " + this.LastName}}
}

并将其存储在项目中的某个文件夹中(但具有相同的命名空间)

var query = from c in db.Persons
            select new { id = c.ID,Names = c.FirstName + " " + c.LastName };
ViewBag.personid = new SelectList(query, "ID", "Names");