Asp.net ListView-绑定到简单标量数组时,是否可以设置DataKeyName?

Asp.net ListView-绑定到简单标量数组时,是否可以设置DataKeyName?,asp.net,Asp.net,我经常遇到这样的情况,我使用一个ListView或类似的控件和一个简单的数组,比如string[] 当您绑定到简单集合时,是否有方法使用DataKeyNames属性?尝试使用对象的通用列表。下面的例子是C#3.0。假设您想要一个字母列表: public class LettersInfo { public String Letter { get; set; } } 然后列出一个清单: List<LettersInfo> list = new List<LettersI

我经常遇到这样的情况,我使用一个ListView或类似的控件和一个简单的数组,比如string[]


当您绑定到简单集合时,是否有方法使用DataKeyNames属性?

尝试使用对象的通用列表。下面的例子是C#3.0。假设您想要一个字母列表:

public class LettersInfo
{
    public String Letter { get; set; }
}
然后列出一个清单:

List<LettersInfo> list = new List<LettersInfo>();
list.add(new LettersInfo{ Letter = "A" });
list.add(new LettersInfo{ Letter = "B" });
list.add(new LettersInfo{ Letter = "C" });

您可以使用Linq执行此操作:

string [] files = ...;

var list = from f in files
    select new { Letter = f };

// anonymous type created with member called Letter

lv.DataKeyNames = "Letter";
lv.DataSource = list;
lv.DataBind();

如果可能的话,我正在寻找一种直接对简单集合使用DataKeys的方法——而不使用包装类或更复杂的集合。
string [] files = ...;

var list = from f in files
    select new { Letter = f };

// anonymous type created with member called Letter

lv.DataKeyNames = "Letter";
lv.DataSource = list;
lv.DataBind();