0

这是我在 ASP.Net 中的 DropDownList:

<%: Html.DropDownListFor(x => x.CompanyUserFilterId, new SelectList(Model.CompanyUsers, "Id", "FirstName", Model.CompanyUserFilterId)) %>

我想在 DropDownList 中列出所有 CompanyUsers 并显示他们的 FirstName 和 LastName 属性。CompanyUsers 是一个 IEnumerable 属性。上面的代码有效并且仅显示 FirstName 属性。可以同时显示吗?

4

2 回答 2

1

您不必将完整的客户数据作为模型传递,而是必须提供包含连接字段的数据的投影。

你还没有提供你的控制器实现,但你可能想做这样的事情:

var data = from c in DataContext select new CustomerData() { Id = c.Id, Name = c.FirstName + " " + c.LastName };

return View(data);

.. 其中 CustomerData 是一个简单的 POCO,上面有 Id 和 Name 属性。然后更改您的视图以使用 IEnumerable<CustomerData> 和您的下拉列表代码以使用投影模型中的“名称”属性,而不是您最初拥有的 FirstName 属性。

希望您可以调整它以适应您自己的特定情况。

于 2010-10-28T13:28:52.900 回答
0

我要补充一点,MvcContrib 的下拉列表比默认的要好得多,如果可能的话,我会考虑使用该库。

于 2010-10-28T13:36:00.903 回答