我在表格中有3列(见下文),并希望将第2列和第3列连接为文本,将第1列连接为值。我们怎样才能在MVC下拉列表中做到这一点?
Category Table
ID CategoryName CategoryName_En
1 abc ABC
2 xyz XYZ
3 efg EFG
下拉列表需要看起来像
dropdownlist Text value
abc/ABC 1
xyz/XYZ 2
efg/EFG 3
答案 0 :(得分:3)
可能如下:
public IEnumerable<SelectListItem> GetCategoryList(int selectedCatId)
{
// Assuming that GetCategoriesFromDB is returning IEnumerable of Category
return GetCategoriesFromDB()
.Select(cat =>
SelectListItem
{
Text = cat.CategoryName + "/" + cat.CategoryName_En,
Value = cat.ID,
Selected = selectedCatId == cat.ID
}).ToList();
}
您可以使用此方法并将选定的类别ID发送给它,以确保选择了正确的项目。
答案 1 :(得分:2)
有些事情应该有效:
Categories.Select(i =>
new SelectListItem
{
Text = i.CategoryName + "/" + i.CategoryName_En,
Value = i.ID
}).ToList();