e.Item.DataItemの値を文字列に読み込みたいのですが、何らかの理由でウォッチウィンドウで見ることはできますが、私はそれを得ることができませんDataItemから匿名型を読み取る
答えて
さらに詳しい情報を追加できますか?文字通り文字列値が必要なのですか、値から特定の文字列が必要ですか?
あなたはなんとかする必要があります文字列値が必要な場合。監視ウィンドウは、オブジェクトの.ToStringを呼び出すことによって値を表示する傾向があります。ウォッチウィンドウの値があなたが望む文字列であれば、ToStringを呼び出すだけでウォッチウィンドウを得ることができます。
var item = e.Item.DataItem.ToString();
また、さまざまなプロパティについてもヌルチェックを行う必要があります。
あなたのような何かをやったようですね:
obj.Datasource = (from .... select new { a=..., b=...}).ToList();
そして、あなたの項目のいずれかのために、あなたは「A」またはアウト、右の「B」の値を取得したいですか?
次のことができますが、それは複雑(および推奨されません)です。これを行うには、e.Item.DataItemを正しいクラスにキャストする必要がありますが、それは匿名型です。つまり、トリッキーなことなしにキャストを指定することはできません。 (e.Item.DataItem、新しい{A = ...、B = ...})ForceCastを呼び出し、その後
private T ForceCast(T prototype, object obj)
{
return (T)obj;
}
:あなたはこのような何かを試みることができます。私はあなたが同じアセンブリにいる場合にはうまくいくと思います(そして、aとbの値をタイプすると、コンパイラはTを推測して事態を把握します)。しかし、より良い方法は、データソースから返すデータを保持するための実際のクラスを定義することです。その後、e.Item.DataItemをそのクラスにキャストしても問題ありません。
(注:?私は実際にこのコードを実行しようとしていない - これは、これを読んでいる間、私が持っていただけと考えられていたが、私は、私は前にそれを見てきたと思っていますが、多分それはthis blogだった)
は、私たちが何が起こっているか理解している場合我々はそれより少しより多くの情報が必要になりますsimilar question
DataBinder.Eval(e.Item.DataItem, "PropertyName")
- 1. LINQ to SQL、匿名型は読み取り専用です
- 2. 匿名型から定義済み型へのリファクタリング
- 3. バイナリファイルからオブジェクト型を読み取る
- 4. 匿名タイプの読み書きプロパティを取得する
- 5. C#のWebから匿名の型を取得します。
- 6. db4oから匿名型のオブジェクトを取り出す方法
- 7. LINQ匿名型からカスタムクラスのObservableCollectionへ
- 8. 匿名型のマージ
- 9. 匿名オブジェクトから値を取得
- 10. データソースとのコンボボックスから選択した値を取得すると、匿名型
- 11. なぜC#で匿名型のプロパティが読み取り専用ですか? C#ので
- 12. WP7.1で匿名の型とアクセサを取得しますか?
- 13. VB.NET:匿名型とインテリセンス
- 14. c#匿名型の質問
- 15. 2つの匿名型
- 16. 匿名型のクローン作成?
- 17. C#匿名型宣言
- 18. 匿名型のユニットテスト - JSON
- 19. 混合データ型のCSVファイルからデータを読み取る
- 20. VBA/ADO:.csvデータソースから混合データ型を読み取る
- 21. enum型のプロパティファイルから値を読み取る方法は?
- 22. golangのxlsファイルから数値型セルを読み取る
- 23. 匿名型を使用する - コード
- 24. C#匿名の型を割り当てることができません - 読み込み専用です
- 25. EF SQLクエリから匿名型を返す方法
- 26. plistから読み取る
- 27. InputStreamから読み取る
- 28. マイクロコントローラから読み取る
- 29. コンソールプロセスから読み取る
- 30. argvからx86アセンブリ経由でファイル名を読み取る
から、次の手に入れました。 – Noldorin
これは非常に曖昧です。文脈を提供してください。 Webフォーム、Windowsフォーム、.NETバージョンなど –