2010-12-07 6 views
1

私はそうならば、私は...フィルタがチェックされているかどうかを確認しようとしているASP.NET MVC 2 C#:ループ内でIFを短くしますか?

<ul> 
    <% foreach (var filter in Model.Filter) 
    { %> 

    <li <% filter.TagChecked == 1 ? //yes : //no %>><%: filter.TagLabel %> <span class="closeImage"><img src="/Content/Images/filterButtonClose.gif" /></span></li> 

    <% } %> 
</ul> 

...私はリスト項目をプリントアウトとして、私は私のループ内で条件を置くことができる方法を見つけるためにしようとしています、クラスを作成してイメージを追加する必要があります。そうでない場合には、単に

答えて

2

ちょうど必要な文字列を返す通常のリチウムを書く:

<%: filter.TagChecked == 1 ? " class=\"myclass\"" : string.Empty %> 
+0

あなたは「」とは対照的にString.Emptyをを使用することを選択した理由は、任意の理由は? – dcolumbus

+1

@dcolumbus - 私はそれの説明を好きです。同じことが評価されます。 – Oded

3
<ul> 
<% foreach (var filter in Model.Filter) 
{ %> 

<li <%: filter.TagChecked == 1 ? "class=\"some-class\"" : "" %>><%: filter.TagLabel %> <span class="closeImage"><img src="/Content/Images/filterButtonClose.gif" /></span></li> 

<% } %> 
</ul> 
+2

.NET 4.0では、HTMLコード化を追加するので、 ' 'の代わりに' <%:%> 'を使用することをお勧めします。 – Oded

+0

あなたは右の古い習慣がハードに死ぬ:-) – Rob

+0

ありがとうたくさんの人。 – dcolumbus

関連する問題