有没有比我在下面的View中使用的更好的方式使用Value
和Text
属性SelectList?我觉得我正在做一些额外的工作,而不是应该做的。如何使用SelectList中的显示文本属性
注意:我所知道的使用下拉菜单与Value
和Text
的其他方式。同时采用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);
我发现类似的方法here和here这个问题只涉及到如何实现相同。
'customersList'已经'的IEnumerable'。使用'new SelectList(...)'创建另一个相同的'IEnumerable '只是无意义的额外开销。你的'lstCustomers'属性应该是'IEnumerable ',因为这就是视图中'DropDownListFor()'方法所需要的。 –
@StephenMuecke这就是我所担心的 - 做不必要的额外工作。如果我使用'SelectList',我应该如何使用'Value'和'Text'属性? – nam
你不明白我的意见吗?它使用了新的'SelectList()',这是毫无意义的。要生成一个''