2010-10-05 10 views
6

Je n'arrive pas à comprendre comment effectuer une opération "imbriquée" dans Razor. Par exemple, comment utiliser IF à l'intérieur de FOREACH. VisualStudio lance la compilation erreur sur le bloc suivant, en disant « terme d'expression non valide « si » »Opérations imbriquées avec Razor View Engine

@foreach (var document in Model) { 

    @if (document.Item.Count > 0) { 
     <div> 
      @MvcHtmlString.Create(document.Items[0].ContentPresenter) 
     </div> 
    } 

} 

Répondre

14

Ne pas vous avez juste besoin de laisser tomber le @ au large de la @if et faire:

@foreach (var document in Model) { 
    if (document.Item.Count > 0) { 
     <div> 
      @MvcHtmlString.Create(document.Items[0].ContentPresenter) 
     </div> 
    } 
} 

Désolé je n'ai pas travaillé avec Razor mais n'est pas son point de vente la commutation automatique entre le code et HTML basé sur le contexte?