c# - IEnumerable<string> 到 SelectList,没有选择值

标签 c# asp.net-mvc

我在 ASP.NET MVC 应用程序中有如下内容:

IEnumerable<string> list = GetTheValues();
var selectList = new SelectList(list, "SelectedValue");

即使选择的值已定义,它也没有在 View 中被选中。我有这种感觉,我在这里遗漏了一些东西,所以如果有人可以让我摆脱痛苦!

我知道我可以使用烦人的类型来提供键和值,但如果没有必要,我宁愿不添加额外的代码。

编辑:此问题已由 ASP.NET MVC RTM 修复。

最佳答案

试试这个:

IDictionary<string,string> list = GetTheValues();
var selectList = new SelectList(list, "Key", "Value", "SelectedValue");

SelectList(至少在预览版 5 中)不够聪明,无法看出 IEnumerable 的元素是值类型,因此它应该将项用于值和文本。相反,它会将每个项目的值设置为“null”或类似的值。这就是所选值无效的原因。

关于c# - IEnumerable<string> 到 SelectList,没有选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/222531/

相关文章:

javascript - 在 ASP.NET MVC 应用程序中进行 Ajax 调用并返回 bool 值

javascript - 返回 View MVC/Javascript/.NET Core 时出现问题

asp.net - 手动升级后将新的 ASP.NET Web 优化框架添加到 MVC4 项目

c# - Http 处理程序加载错误

c# - 使用 .net、angular 和 electron 的桌面应用程序

c# - 输入字符串的格式不正确

c# - MVC4 脚本包缓存问题

c# - Linq 对 Null 值进行排序

c# - 在 MVC 中设置 CaSTLe Windsor

c# - 使用 nuget 包的目标框架注意事项?