我在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(至少在Preview 5中)不够聪明,无法看到IEnumerable的元素是值类型,因此它应该同时使用值和文本项。而是将每个项目的值设置为“null”或类似的值。这就是为什么所选值不起作用的原因。

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

10-12 13:21