1

我有以下有效的代码:

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() 方法中使用?

4

1 回答 1

7

因为 Mvc 中的 SelectList 构造函数使用 dataTextField 参数和反射在运行时“拉”属性值,所以没有办法完成你在那里做的事情,但是,一个简单的解决方法

例如,在名为“Caption”的表类(如果使用 EF,则使用部分类)上正确创建一个新的只读。然后在 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");

至少我是这样处理这种情况的,这很常见。

于 2012-10-16T18:46:51.497 回答