0

whereルールをforeach検索に入れるには、いくつかの助けが必要です。私の目標は、customerOrder.ERPOrderNumberが文字Eで始まる注文を除外することです。

私が持っているコードは、特定の顧客のすべての注文を返します。

よろしくお願いします。

 @foreach (var customerOrder in Model.CustomerOrders)
        { 
            <tr>
                <td class="mavo-order-date">@customerOrder.OrderDate.ToShortDateString()
                </td>
                <td class="mavo-status">@customerOrder.Status
                </td>
                <td class="mavo-order-number">
                    <a href="@Url.Action("OrderHistoryDetail", "Account", new { orderId = customerOrder.ERPOrderNumber })">@customerOrder.OrderNumber</a>
                </td>
                @if (Model.ShowErpOrderNumber)
                {
                    <td class="mavo-erp-order">@customerOrder.ERPOrderNumber
                    </td>
                }
                <td class="mavo-po">@customerOrder.CustomerPO
                </td>
                <td class="mavo-order-total">@customerOrder.OrderGrandTotal.ToCurrency()
                </td>
                <td class="mavo-view">
                    <a class="btn btnStyleA tbm5" href="@Url.Action("OrderHistoryDetail", "Account", new { orderId = customerOrder.ERPOrderNumber })">View Details</a>
                </td>
            </tr>
        }
4

1 に答える 1

3

ifループ内にステートメントを配置foreachして、注文番号が文字で始まらない場合にのみテーブル行を書き出すことができEます。

@foreach (var customerOrder in Model.CustomerOrders)
{  
    @if(!customerOrder.ERPOrderNumber.StartsWith("E")) 
    {
       // Markup goes in here
    }
}

または、LINQを使用してCustomerOrdersコレクションをフィルタリングできます。

@foreach(var customerOrder in Model.CustomerOrders.Where(x => !x.StartsWith("E"))
于 2013-03-08T16:29:13.600 に答える