我想將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