1

数値プロパティ「コスト」で DynamicNodeList をソートしようとしています。ここでさまざまな方法を試しましたが、完全に途方に暮れています:

var nodes = Model.AncestorOrSelf(1).Descendants().Where("NodeTypeAlias.Equals(\"Event\")").Where("Visible");

nodes = nodes.OrderBy("Int32.Parse(cost.Value)");

エラーが表示されます: タイプ 'Func`2' にプロパティまたはフィールド 'Value' が存在しません

私はこれが私が得たのと同じくらい近いと感じています!誰もこれについて手がかりを持っていますか?

編集:

OK NodeListを変更することでこれを解決しました:

var nodes = Model.AncestorOrSelf(1).Descendants().Where("NodeTypeAlias.Equals(\"Event\")").Where("Visible").Where("cost > 0");
4

3 に答える 3

2
nodes = nodes.OrderBy("cost");

...問題なく動作するはずです。

詳細については、Umbraco Razor機能のチュートリアル–パート4を参照してくださいOrderBy()

于 2012-11-14T18:18:31.647 に答える
0

複数のアイテムや単純ではないものを並べ替えるときに問題が発生しました。そのような場合、List または DynamicNode オブジェクトに変換し、Sort メソッドをデリゲートで使用します。

このようなもの:

possibleListings.Sort(delegate(DynamicNode x, DynamicNode y)
{       
  ... perform sorting logic
});

次に、デリゲート内で Int32.TryParse() 呼び出しまたは必要なものを実行できます。

于 2012-11-14T21:05:40.710 に答える
0

あなたは試すことができます

Dictionary<DynamicNode, int> myVar = new Dictionary<DynamicNode, int>();
foreach(var node in nodes)
{
    myVar.Add(node,node.GetPropertyValue("cost");
}

そしてそれを並べ替えます。それが私が考えることができる唯一の方法です。

于 2012-11-14T16:36:57.853 に答える