2013-03-01 6 views
0

이것은 내가 기대하는 사람에게 쉬운 점이 될 것입니다.하지만 C#에 대한 사전 지식이없는 MVC 면도기로 그립을 얻으려는 프런트 엔드 개발자로서이 문제는 저를 곤경에 빠뜨립니다. 그렇지 않으면 'SECOND'hasSecondtrue 때,foreach 루프의 bool을 고려하십시오.

@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 값 옵션을 표시하려면 :

은 내가 다음 foreach 고려하고 싶은 것 hasSecond하는 부울 var에가 이 옵션을 표시하지 마십시오.

도움 주셔서 감사합니다.

답변

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> 
     } 
    } 

트릭을 할해야합니다. 나는 전에 논리가 약간 잘못되었다고 생각한다. 모든 optionreason.Attribute이 아닌 SECOND입니다. SECOND 인 경우 이 true 인 경우에만 option이 표시됩니다.

+0

정말 고맙습니다. –

0

다음과 같은 방법으로 할 수 있습니다. if 문을 foreach 루프에 넣고 다른 절을 where에 추가하십시오. hasSecond이 false 인 경우 그냥 data-confirm-attr="@reason.Attribute" 제거하려면

@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> 
    } 
} 

는 당신이 다음을 사용할 수 있습니다

@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> 
} 
+0

난 그냥'hasSecond'보다 조건 더 필요한 있다고 생각합니다 - 그렇지 않으면, 왜 *은'foreach' 내부 *을 배치? –

1

단지 어디 문에 추가 :

@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> 
    }