我想将e.Item.DataItem中的值读入字符串中,但无论出于何种原因,我似乎无法得到它,尽管我可以在监视窗口中看到它从DataItem中读取匿名类型
0
A
回答
2
您可以添加更多信息吗?你真的想要一个字符串值还是你需要一个特定的字符串值?
如果您需要一个应该可行的字符串值。监视窗口倾向于通过在对象上调用.ToString来显示值。如果监视窗口中的值是你想要的字符串,那么你应该可以通过简单地调用ToString来获得它。
var item = e.Item.DataItem.ToString();
您需要对各种属性进行空检查。
0
这听起来像你这样做是这样的:
obj.Datasource = (from .... select new { a=..., b=...}).ToList();
并为您的项目之一,你想获得“A”或“B”时,权值?
你可以,但它很复杂(不推荐)。要做到这一点,你必须将e.Item.DataItem转换为正确的类,但这是一个匿名类型,这意味着你不能在没有任何欺骗的情况下指定转换。你可以尝试这样的事:
private T ForceCast(T prototype, object obj)
{
return (T)obj;
}
然后,调用ForceCast(新{A = ......,B = ...},e.Item.DataItem强制转换)。如果你在同一个程序集中,我认为这将起作用(并且你为a和b提供的值正确 - 编译器会为你猜测T并找出结果)。然而,更好的方法是定义一个真正的类来保存从数据源返回的数据。然后你可以将e.Item.DataItem转换为这个类,你会没事的。
(注:?我还没有真正尝试运行这段代码 - 这仅仅是一个想法,而读这我,但我想我以前见过它也许是this blog)
10
接到一个similar question
DataBinder.Eval(e.Item.DataItem, "PropertyName")
相关问题
- 1. 从匿名类型
- 2. 匿名类型
- 3. 匿名类型
- 4. 匿名类型
- 5. 匿名类型
- 6. LINQ中,VB - 匿名类型不能转换为匿名类型
- 7. 如何从匿名类中获取不同类型的数据
- 8. Scala中的匿名类型
- 9. LINQ中的匿名类型
- 10. Deserialise匿名类型
- 11. 匿名类型C#
- 12. 与匿名类型
- 13. C#匿名类型
- 14. 与匿名类型
- 15. 匿名类型IQueryable
- 16. 从匿名类
- 17. Android从匿名类中获取活动
- 18. 如何读取匿名类型的属性?
- 19. 匿名类型和泛型
- 20. Java:从匿名类获取超类
- 21. 匿名类型(类功能)
- 22. 如何从VB.NET中的匿名类型获取属性
- 23. 从LINQ查询返回匿名类型?
- 24. 返回匿名类型从函数
- 25. 从匿名类型返回Json
- 26. 如何从IQueryable的匿名类型
- 27. 从字符串创建匿名类型
- 28. 签名中的匿名类型
- 29. 如何使用“动态”变量从匿名类型读取属性
- 30. 隐式类型与匿名类型
下面我们将需要比这更多的信息,如果我们明白发生了什么。 – Noldorin 2009-04-13 00:45:42