0

在一个SelectList对象中,我希望 SelectList 的每个元素的 Text 属性也应该是值。例如:

SelectList s=new SelectList(some list);
s.ElementAt(i).Value=s.ElementAt(i).Text;

有没有办法通过使用循环来做到这一点?有没有内置的方法或类似的东西来完成这个?

4

2 回答 2

1

您可以对 SelectList 使用以下构造函数重载:

public SelectList(
    IEnumerable items,
    string dataValueField,
    string dataTextField
)

然后,您可以为 dataValueField 和 dataTextField 提供相同的列表成员。

于 2012-06-26T07:58:13.827 回答
1

如果您真的想在没有循环的情况下执行此操作,只需使用 linq foreach (这是后台的循环):

s.ToList().ForEach(c=>c.Text = c.Value)
于 2012-06-26T08:05:27.837 回答