c# - 选择列表的字典键和值

标签 c# asp.net-mvc

Dictionary<string,string> dict = new Dictionary<string,string>();    
  dict.add("a1", "Car");
  dict.add("a2", "Van");
  dict.add("a3", "Bus");

SelectList SelectList = new SelectList((IEnumerable)mylist, "ID", "Name", selectedValue);

在上面的代码中,我将一个列表 mylist 放到了一个 SelectList 中。 IDName 是该特定对象 list(mylist) 的两个属性。

同样,我需要将字典添加到 SelectList。


需要在data Value参数中加入字典的key -(上例的ID位置) 需要在data text参数中加入字典的值-(上例的Name位置)

因此,请告诉我一种无需创建新类即可使用此字典键和值创建选择列表的方法。

最佳答案

你可以试试:

SelectList SelectList = new SelectList((IEnumerable)dict, "Key", "Value", selectedValue);

Dictionary<string, string>工具 IEnumerable<KeyValuePair<string, string>> , 和 KeyValuePair给你 KeyValue属性。

但是请注意,通过枚举 Dictionary<string,string> 返回的项目顺序不能保证。如果您想要有保证的订单,您可以执行以下操作:

SelectList SelectList = new SelectList(dict.OrderBy(x => x.Value), "Key", "Value", selectedValue);

关于c# - 选择列表的字典键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21307443/

相关文章:

c# - Perforce .net API 直接从服务器/连接超时下载文件

c# - 您如何通过 C# 代码处理日期字段中的 NULL?

c# - 在 PartialView 中获取变量

c# - MVC 4 回发空 View 模型

javascript - JSON.parse 导致 "Uncaught SyntaxError: Unexpected token u"

c# - 如何在 ASP.NET MVC 中的 POST 请求之间传输 ViewModel 数据?

c# - WPF 图像不会显示 BitmapSource

c# - 可重复的复杂正则表达式,带点 '.' 分隔符

c# - DataTableReader.GetValue(int) 抛出 ArguementOutOfRangeException

c# - 我将如何在 ASP.Net 服务器上运行连续任务?