下拉列表组合值
本文关键字:组合 下拉列表 | 更新日期: 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");