我有以下代码可以使用:
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()方法中使用?
答案 0 :(得分:7)
因为Mvc中的SelectList构造函数使用dataTextField参数和反射来在运行时“拉”属性值,所以没有办法完成你在那里做的事情,一个简单的解决方法
在您的表类上正确创建一个新的只读(如果使用EF,则使用部分类),例如“Caption”。然后在getter中返回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");
至少我是如何处理这种情况的,这是相当普遍的。