我在 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/