在一个SelectList
对象中,我希望 SelectList 的每个元素的 Text 属性也应该是值。例如:
SelectList s=new SelectList(some list);
s.ElementAt(i).Value=s.ElementAt(i).Text;
有没有办法通过使用循环来做到这一点?有没有内置的方法或类似的东西来完成这个?
在一个SelectList
对象中,我希望 SelectList 的每个元素的 Text 属性也应该是值。例如:
SelectList s=new SelectList(some list);
s.ElementAt(i).Value=s.ElementAt(i).Text;
有没有办法通过使用循环来做到这一点?有没有内置的方法或类似的东西来完成这个?
您可以对 SelectList 使用以下构造函数重载:
public SelectList(
IEnumerable items,
string dataValueField,
string dataTextField
)
然后,您可以为 dataValueField 和 dataTextField 提供相同的列表成员。
如果您真的想在没有循环的情况下执行此操作,只需使用 linq foreach (这是后台的循环):
s.ToList().ForEach(c=>c.Text = c.Value)