我正在尝试编写一个简单的扩展方法,它允许我按文本而不是值选择MVC SelectList中的项目。
这是我提出的,但是虽然在debuging时将项目设置为选中,但返回的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;
}
答案 0 :(得分:2)
尝试在文本上选择项目而不是值
是不明智的无论如何,您似乎有多个项目满足您的if语句
要确保只选择一个项目,您可以在遇到条件时休息一下 像这样:
if(item.Text == TextValue)
{
item.Selected = true;
break;
}
欢呼声