2017-08-14 17 views
0

有没有比我在下面的View中使用的更好的方式使用ValueText属性SelectList?我觉得我正在做一些额外的工作,而不是应该做的。如何使用SelectList中的显示文本属性

注意:我所知道的使用下拉菜单与ValueText的其他方式。同时采用SelectList

... 
var customersList = _context.Customers.Select(c => new SelectListItem { Value = c.LastName, Text = c.FullName }); 

MyViewModel.lstCustomers = new SelectList(customersList , "Value", "Text"); 
... 
return View(MyViewModel); 

我发现类似的方法herehere这个问题只涉及到如何实现相同。

+1

'customersList'已经'的IEnumerable '。使用'new SelectList(...)'创建另一个相同的'IEnumerable '只是无意义的额外开销。你的'lstCustomers'属性应该是'IEnumerable ',因为这就是视图中'DropDownListFor()'方法所需要的。 –

+0

@StephenMuecke这就是我所担心的 - 做不必要的额外工作。如果我使用'SelectList',我应该如何使用'Value'和'Text'属性? – nam

+0

你不明白我的意见吗?它使用了新的'SelectList()',这是毫无意义的。要生成一个''