0

これは私が期待する人にとっては簡単なポイントですが、フロントエンド開発者がC#の予備知識がまったくないMVCかみそりを理解しようとしているので、これは困惑しています。

hasSecond私は次のように検討したいブール変数を持っていますforeach

@foreach (PODO_AcceptRejectReasons reason in reasonList2.Where(e => e.Type == 1))
    {
        <option data-confirm-type="1" data-confirm-attr="@reason.Attribute" value="@reason.ID">@reason.Text</option>
    }

@reason.Atrributeの場合に値が「SECOND」のオプションのみを表示したいのですが、それ以外の場合hasSecondtrueこれらのオプションを表示しません。

ご協力いただきありがとうございます!

4

3 に答える 3

3
@foreach (PODO_AcceptRejectReasons reason in reasonList2.Where(e => e.Type == 1))
    {
        if(hasSecond||reason.Attribute!="SECOND")
        {
            <option data-confirm-type="1" data-confirm-attr="@reason.Attribute" value="@reason.ID">@reason.Text</option>
        }
    }

トリックを行う必要があります。以前は論理が少し間違っていたと思います。これにより、がないすべてoptionのが表示されます。の場合、trueの場合のみ表示されますreason.AttributeSECOND SECONDoptionhasSecond

于 2013-03-01T09:21:28.167 に答える
1

Whereステートメントに追加するだけです。

@foreach (PODO_AcceptRejectReasons reason in reasonList2.Where(e => e.Type == 1 && hasSecond))
    {
        <option data-confirm-type="1" data-confirm-attr="@reason.Attribute"   value="@reason.ID">@reason.Text</option>
    }
于 2013-03-01T09:21:59.500 に答える
0

これは次の方法で実行できます。foreachループにifステートメントを配置し、whereに別の句を追加するだけです。

@foreach (PODO_AcceptRejectReasons reason in reasonList2.Where(e => e.Type == 1 && e.Attribute=="SECOND"))
{
    if(hasSecond)
    {
        <option data-confirm-type="1" data-confirm-attr="@reason.Attribute" value="@reason.ID">@reason.Text</option>
    }
}

falseのdata-confirm-attr="@reason.Attribute"場合に削除したいだけの場合は、次を使用できます。hasSecond

@foreach (PODO_AcceptRejectReasons reason in reasonList2.Where(e => e.Type == 1))
{
    <option data-confirm-type="1" @if(hasSecond) { <text>data-confirm-attr="@reason.Attribute"</text> } value="@reason.ID">@reason.Text</option>
}
于 2013-03-01T09:19:40.987 に答える