2012-10-16 36 views
1

我有下面的代碼工作:ASP MVC的SelectList()名稱串聯

ViewBag.Resources = New SelectList(db1.Tbl_Resources, "Resource_ID", "Resource_FirstName") 

我想不僅顯示的第一個名字,也是最後一個名字,所以我嘗試這樣做:

ViewBag.Resources = New SelectList(db1.Tbl_Resources, "Resource_ID", "Resource_FirstName" + " " + "Resource_LastName") 

但是,它不起作用,因爲它似乎尋找名爲「Resource_FirstNameResource_LastName」的模型屬性。我如何連接這些以用於SelectList()方法?

+1

檢查這個答案http://stackoverflow.com/questions/2758734/how-can-i-combine-two-fields-in-a-selectlist-text-description – AntLaC

+0

謝謝,我發現之前我找不到。 – user1477388

回答

7

因爲MVC中的SelectList構造函數使用dataTextField爭論和反思,以「拉」在運行時的屬性值,有沒有辦法實現的目標不過,您在那裏做,一個簡單的解決方法

創建一個新的只讀正確例如,在您的表類(使用EF的部分類)上調用「Caption」。然後在吸氣回報Resource_FirstName」 +‘’+ Resource_LastName

class db1.Tbl_Resources 
{ 
    public string Caption { get {return Resource_FirstName + " " + Resource_LastName;}} 
} 

然後在您查看或助手

New SelectList(db1.Tbl_Resources, "Resource_ID", "Caption"); 

至少這是我如何處理的情況下,這是相當普遍的。

+0

酷答案。謝謝你的幫助,我會接受這個解決方案要轉換爲VB,我不得不從類標題中刪除'db1.'。 – user1477388

+0

我想也說dataTextField名稱必須完全匹配類上的屬性名稱,以便反射起作用。希望它可以幫助你。 – Pepto