美好的一天,

我目前正在创建一个选择列表,如下所示:

  return new SelectList(db.RadioNetworks
                          .OrderBy(x => x.RepeaterName),
                          "NetworkIdentifier", "RepeaterName");


这使我可以使用“ RepeaterName”填充下拉列表

我如何更改此值以保持相同的键值,但是我想要一个复合数据字段。

就像

  return new SelectList(db.RadioNetworks
                          .OrderBy(x => x.RepeaterName),
                          "NetworkIdentifier", "RepeaterName"+" - " + "startCode");


我怎样才能做到这一点?

即使我必须遍历无线电网络列表并手动建立选择列表。

最佳答案

我假设startCode是无线电网络对象的属性,因此您可以使用组合信息创建一个新对象的集合,然后填充SelectList:

return new SelectList(db.RadioNetworks.OrderBy(x => x.RepeaterName)
                        .Select(x => new
                        {
                            NetworkIdentifier = x.NetworkIdentifier,
                            Name = x.RepeaterName + " - " + x.startCode
                        }),
                     "NetworkIdentifier",
                     "Name");

10-06 10:58