2012-02-03 13 views
5

Bu benim ilk yazım, dolayısıyla merhaba :)ustura sözdizimi: ifs ve divs ile döngü

Şartlı olarak div'ı açmak ve kapatmak istiyorum. Neyi yanlış yapıyorum?

@foreach (var m in Model.Recipes) 
{ 
    if (left) 
    { 
     <div class="rec-line"> 
    }  

    if (left) 
    {    
     </div> 
    } 
} 
+0

, ve gerçekte ne oluyor? –

+0

Öğeleri farklı bloklarda açıp kapatamazsınız. Neyi başarmaya çalışıyorsun? Yapmaya çalıştığınız şeyi yapmak için daha iyi bir yol olabilir. –

+0

Aşağıda çözüldü, ama merakınız için koleksiyondaki öğeleri çift olarak listeliyorum. Dolayısıyla, her tuhaf elemanda div'u açarım ve hatta bir tanesini kapatıyorum. [div] [sol] [sağ] [/ div] [div] ... –

cevap

5

Sen kullanarak jilet motoru <div> metin olduğunu bildirmek için çıkış karakteri kullanmak gerekir @:

kodu:

sen ne olmasını bekliyoruz tam olarak ne tarif edebilir
@foreach (var m in Model.Recipes) 
{ 
if (left) 
{ 
    @:<div class="rec-line"> 
}  

if (left) 
{    
    @:</div> 
} 
} 
+0

Hayır, yapmıyorsunuz: http://haacked.com/archive/2011/01/06/razor-syntax- quick-reference.aspx –

+2

@Shark - Evet öyle. "@if (foo) { @ makalenizi okuyun. @: Düz Metin, @bar olarak }' "şeklindedir. Açıkçası, op'un orijinal kodunu derlemeye çalışırsanız, mantıksal bir hataya sahip olacak ve yanlış gösterecektir. Bu durum düzeltmesi, html biçimlendirmesinin C# ifadelerini kırmaması için @: işaretleyicileri eklemektir. Açık olmak gerekirse, @ olmadan: bu, @ ile işlenmeyecektir. –

+1

Ah, şimdi ne söylediğini görüyorum. İyi bir nokta. –