2016-11-07 6 views
0

でリストをフィルタ!しかし、モデルのブール値に応じて、このリストをフィルタリングする必要があるかもしれません。これは、私は問題を理解している。これは私が試しているものです:は、リストを反復処理をすることを、私はビューでシンプルな@foreachループを持つビュー

@{List<MCA.Models.ChangesVM.ChangeOrderInfo> Change_Order_Dash_List = new List<MCA.Models.ChangesVM.ChangeOrderInfo>();} 

@if (Model.ViewChangeOrdersFromChart) 
{ 
    Change_Order_Dash_List = Model.ChangeOrder.Change_Order_Dash_List.Where(l => l.Implement_Date == Model.ViewChangeOrdersOnDate).ToList<MCA.Models.ChangesVM.ChangeOrderInfo>(); 
} 
else 
{ 
    Change_Order_Dash_List = Model.ChangeOrder.Change_Order_Dash_List; 
} 


@foreach (var record in Change_Order_Dash_List) 
{ 
    .... 
} 

しかし結果は変です。ページをレンダリングすると、リストは空に見えます。データは画面に表示されません。また、ページのどこにでもブレークポイントを設定すると、決してヒットしません。

私は間違っていますか?

ありがとうございます!

+0

すべてを{}の剃刀ブロックに入れてみてください。あなたは "}"がありません。たぶん適切にレンダリングされません。 – kat1330

+0

私は思った。私は何が欠けていますか? –

+0

'@if(!Model.ViewChangeOrdersFromChart)'ブロックを追加するまで、 'foreach'ループが正常に動作していることを正しく理解していますか? – Theo

答えて

1

別(およびIMOよりシンプル)構文を

@if (Model.ViewChangeOrdersFromChart) 

が、これはやった、にありますこのよう||演算子を使用してWhereif条件をマージ:

yourList.Where(l => !Model.ViewChangeOrdersFromChart || 
        l.Implement_Date == Model.ViewChangeOrdersOnDate) 

Model.ViewChangeOrdersFromCharttrueの場合にのみリストをフィルタリングします。 このようにすれば、if条件はまったく必要ありません。

+0

素晴らしいヒント!ありがとう! –

+0

@CaseyCrookstonあなたは大歓迎です:) –

0

まあ、どんな奇妙な理由で、これは動作しませんでした。これを達成するために...

@if (Model.ViewChangeOrdersFromChart == true) 
関連する問題