2015-07-01 15 views
0

在MVC我创建一个字典,如下字典来选择列表的

Dictionary<string, long> activitylist = new Dictionary<string, long>(); 
using (OracleConnection con = AppConn.Connection) 
{ 
    OracleCommand cmd = con.CreateCommand(); 
    cmd.Connection = con; 
    try 
    { 
     con.Open(); 
     cmd.CommandText = "Select activity_id,activity from apps_live.im_activity_types_v where activity_id != 12 order by activity"; 
     OracleDataReader reader = cmd.ExecuteReader(); 
     while (reader.Read()) 
     { 
      activitylist.Add(reader[1].ToString(), Convert.ToInt32(reader[0])); 
     } 
    } 
    catch (Exception e) 
    { 
    } 
    finally 
    { 
     con.Close(); 
    } 
} 

如何将其转化为一个选择列表。我尝试下面的代码,但是当我检查视图它显示值作为["text","value]selectlist 例如: - [Tom,3]

ViewBag.activity_type = new SelectList(activitylist); 

编辑

我还试图

ViewBag.activity_type = new SelectList(activitylist,"Key","Value"); 

然后在下拉显示3 ..我需要显示汤姆

回答

1

你很近,试试这个。

ViewBag.activity_type = new SelectList(activitylist, "Key", "Value"); 

如果要在下拉菜单中显示Tom,请交换Key和Value。

ViewBag.activity_type = new SelectList(activitylist, "Value", "Key"); 
+0

抱歉忘记提到有问题我想'ViewBag.activity_type =新的SelectList(activitylist,“键”,“值”);'那么它只能在下拉列表显示3其实我需要显示汤姆 – Sachu

+0

检查更新... –

+0

:)我的大脑不工作..谢谢 – Sachu