这可能是一个非常奇怪的问题,因为人们通常只将复杂的类型绑定到网格视图。但是我需要绑定一个Int列表(字符串也是这样)。通常,由于要绑定的属性使用对象的属性名称,但是当使用Int或字符串时,值恰好是对象本身,而不是属性。
获取对象值的“名称”是什么?我试过"Value“、"”(空)、"this“、"item”,但没有运气。
我指的是网页形式的网格视图。
更新
有一个相关的堆栈溢出问题,。
发布于 2009-02-05 04:03:26
<BoundField DataField="!" />
可以做到这一点(因为BoundField.ThisExpression
等于"!")。
发布于 2009-02-05 03:17:05
<asp:TemplateField>
<ItemTemplate>
<%# Container.DataItem.ToString() %>
</ItemTemplate>
</asp:TemplateField>
发布于 2009-02-05 03:15:53
我希望您可能必须将数据放入包装类中-例如:
public class Wrapper<T> {
public T Value {get;set;}
public Wrapper() {}
public Wrapper(T value) {Value = value;}
}
然后绑定到List<Wrapper<T>>
(作为Value
) --例如使用(C# 3.0):
var wrapped = ints.ConvertAll(
i => new Wrapper<int>(i));
或者C# 2.0:
List<Wrapper<int>> wrapped = ints.ConvertAll<Wrapper<int>>(
delegate(int i) { return new Wrapper<int>(i); } );
https://stackoverflow.com/questions/515464
复制