在MVC4的下拉列表中连接两列

时间:2014-05-29 19:58:46

标签: c# asp.net-mvc-4

我在表格中有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

2 个答案:

答案 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();