1

Umbraco ノードの C# のリストがあります。ノード クラスに組み込まれている最上位のプロパティ (node.Name など) を使用してこれらを正常に注文できますが、GetProperty() 関数を使用して動的プロパティを取得しようとすると、NullReferenceException が発生します。

コード:

nodes = nodes.OrderBy(n => n.GetProperty("fromPrice").ToString()).ToList();

作品に置き換えますn.GetProperty("fromPrice").ToString()n.Name、これで並べ替えたくありません。

例外メッセージ:

System.NullReferenceException: Object reference not set to an instance of an object.

それが何を意味するのか完全にはわかりません。どんな助けでも感謝します。

ありがとう!

4

1 に答える 1

1

クエリのWhere句は、次のようなものから恩恵を受けることができると思います(私の記憶から書き、テストされていません)

var nodes = nodes.Where(x => x.GetProperty("fromPrice") != null).OrderBy(n => n.GetProperty("fromPrice").Value);

これは、最初に呼び出されたプロパティを持たないノードを除外してから"fromPrice"、順序付けを実行する必要があります。オブジェクトを操作するときNodeは、呼び出す必要はないと思います。代わりにToString()取得するだけです。Value

これがどのように機能するか教えてください:-)

于 2013-02-21T15:04:15.770 に答える