2012-03-21 8 views
22

Come posso aggiungere HTML alla pagina dall'interno di if() in un @foreach(). Non ottengo alcun errore specifico, semplicemente non prende il secondo if(). Lo scrive come testo.Come aggiungere html alla pagina all'interno di un Razor se l'istruzione in un foreach?

questo è quello che ho provato, ma senza fortuna

@foreach (var item in Model) 
    { 
     if (count % 4 == 0 || totaltCount == 1) 
     { 
     <div class="in-instructor-container"> 
      } 
      <div class="in-instructor"> 
       <h3>@item.Name</h3> 
       @item.Information 
      </div> 
     if ((count - 1) % 3 == 0 || count == totaltCount) { 
     </div> 
     } 

     count++; 
    } 

mio html ottenere in questo modo

 <div class="in-instructor-container"> 
      } 
      <div class="in-instructor"> 

       <h3>Test Person 0</h3> 
       bla bla bla bla bla bla bla 
      </div> 
     if ((count - 1) % 3 == 0 || count == totaltCount) { 
     </div> 
+0

-1 per cosa? per favore, motivare –

+0

Non ero quello che ti ha votato, ma senza ulteriori informazioni non hai intenzione di ottenere alcun aiuto. C'è stato un errore? Qual era il problema? –

risposta

45

È necessario aggiungere @: davanti alla html all'interno istruzioni if:

@foreach (var item in Model) 
{ 
    if (count % 4 == 0 || totaltCount == 1) 
    { 
     @:<div class="in-instructor-container"> 
    } 
     <div class="in-instructor"> 
      <h3>@item.Name</h3> 
      @item.Information 
     </div> 

    if ((count - 1) % 3 == 0 || count == totaltCount) { 
     @:</div> 
    } 

    count++; 
} 

Ho trovato questa soluzione da this domanda StackOverflow

+0

grazie mille, non ho ancora fatto così tanto mvc 3. –

+0

@ Dejan.S Il benvenuto! Ho imparato anche qualcosa di nuovo;). –

+0

Se avessi potuto, avrei passato questo milione di volte perché c'erano tante altre risposte su StackOverflow che non erano corrette per questo problema. – pat8719

Problemi correlati