2017-03-22 8 views
0

私は、BookingIdという名前のかみそりのマージフィールドを持っています。 A BookingIdは名前を付けることができリストから間違った表の印刷

CCFM384-3049RJDd3248-34またはEVO-23804f-fgg3

BookingIdは言葉EVOが含まれている場合、私はBookingIdはEVOが含まれていない場合、私は第2のテーブルの行を印刷する必要があり、最初のテーブルの行を印刷することがあります。

私はBookingId:EVO-23804f-fgg3でテストしています。しかし、私はまだ2番目のタブロープリントを取得します。私のコードで何が間違っているのですか?

@if ((new List<string> { "EVO" }).Contains(Model.Order.EvoBookingId)) 
{ 
     <!-- First tablerow --> 
     <tr> 
     <th class="small-12 large-6 columns first"> 
      <table> 
       <tr> 
        <th width="300"> 
         <p class="text-left small-text-left"><strong>EVO:</strong></p> 
        </th> 
       </tr> 
      </table> 
     </th> 
     <th class="small-12 large-6 columns last"> 
      <table> 
       <tr> 
        <th width="300"> 
         <p class="text-left small-text-left"> 
          This table contains EVO 
         </p> 
        </th> 
        <th class="expander"></th> 
       </tr> 
      </table> 
     </th> 
    </tr> 
} 
else 
{ 
<!-- Second tablerow --> 
    <tr> 
     <th class="small-12 large-6 columns first"> 
      <table> 
       <tr> 
        <th width="300"> 
         <p class="text-left small-text-left"><strong>EVO:</strong></p> 
        </th> 
       </tr> 
      </table> 
     </th> 
     <th class="small-12 large-6 columns last"> 
      <table> 
       <tr> 
        <th width="300"> 
         <p class="text-left small-text-left"> 

          <br /><br /> 
          This table does not contains EVO 
         </p> 
        </th> 
        <th class="expander"></th> 
       </tr> 
      </table> 
     </th> 
    </tr> 
} 

答えて

1

あなたは、リストの要素のいずれかが、この場合は「EVO」であれば、それは真を返すことを意味し、List.Contains(string)を持っています。それはあなたが望むものではありません。

あなたがチェックができないにしたい場合は、文字列

Model.Order.EvoBookingId.Contains("EVO")

のどこにでもEVOを一致させたい場合は、次の正しい方法があるので、あなたは、あなたの文字列が「EVO」が含まれるようにします大文字と小文字を区別

Model.Order.EvoBookingId.Contains("EVO", StringComparison.OrdinalIgnoreCase)

あなただけ一致させたい場合私は、コードをテストし

Model.Order.EvoBookingId.StartsWith("EVO")

または

Model.Order.EvoBookingId.StartsWith("EVO", StringComparison.OrdinalIgnoreCase)

+0

(これが事実であるように、あなたの例では、見た目ほど)を起動します。 BookingIdに "Evo"という単語が含まれていると、とてもうまく動作します。単語をテストすると "EVO"が含まれていないと、 "この表にはEVOが含まれています"というメッセージが表示されます。 – M375

関連する問題