是否可以合併實體的下拉列表值。下拉列表合計值
說我有一個我試圖做這個姓氏和名字
人等級:
ViewBag.uservalues = new SelectList(db.Persons, "ID", "FirstName" + " " + "LastName");
但這吐出一個錯誤。
是否可以合併實體的下拉列表值。下拉列表合計值
說我有一個我試圖做這個姓氏和名字
人等級:
ViewBag.uservalues = new SelectList(db.Persons, "ID", "FirstName" + " " + "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");
視圖代碼是什麼樣的? – 2013-03-04 23:32:24
'
所以你有兩個不同地方的數據,你的ViewModel和ViewBag?我必須考慮這一點。它看起來不太乾淨。然後再次,它不需要任何魔術字符串,所以。 – 2013-03-04 23:36:16
你調用SelectList
構造
new SelectList(db.Persons,"ID", "FirstName"+" " + "LastName");
使用this overload,這需要公共字段或屬性的名稱在ViewModel
結合,你可能在沒有字段或屬性的名爲「FirstName LastName」的ViewModel。
爲您的ViewModel
類添加一個屬性,將兩個字段連接起來(稱爲FirstAndLastName
),然後在您的SelectList
調用中按名稱指定該屬性。
new SelectList(db.Persons,"ID", "FirstAndLastName");
由於實體框架創建部分類,你應該讓另一部分類具有您要使用的衍生屬性相同的命名空間。
如果實體fraemwork創建的類:
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}}
}
,並在您的項目在一些地方保存在另一個文件夾(但具有相同的命名空間)
什麼是錯誤? – 2013-03-04 23:19:40