【发布时间】:2009-03-17 10:36:25
【问题描述】:
我正在尝试编写一个简单的扩展方法,该方法允许我通过文本而不是值来选择 MVC SelectList 中的项目。
这是我想出的,但是尽管在调试时将项目设置为选中,但返回的 SelectList 的所有项目都带有 selected = false。
有什么想法吗?
public static SelectList SelectByText(this SelectList list, string TextValue)
{
foreach (var item in list)
{
if (item.Text == TextValue)
{
item.Selected = true;
}
}
return list;
}
【问题讨论】:
-
你能证明你如何证明所有 Selected 属性仍然是假的吗?是因为您在 UI 输出中看到的内容,还是因为直接在调试器中检查了对象。很难看出你是如何得到你描述的结果的。
-
在 if(item.Text == TextValue){} 中,当值匹配时,项目的 selected 属性设置为 true,但在调试器的整个集合中,项目的属性设置为 false .我不明白这是怎么回事??
标签: c# model-view-controller selectlist