Domanda

Razor fa un grande lavoro di sapere che cosa si vuole fare quando è semplice. Voglio solo formattare una variabile da una query e sono un po 'confuso. Tutto funziona alla grande, ad eccezione di quella linea con l'istruzione if stringa di IsNull in esso. Il compilatore non riesce sulla linea con il {} & nbsp dicendo che si aspetta un punto e virgola;. Ecco il codice:

@foreach(var row in db.Query(selectQueryString)){ 
<tr> 
       <td>@row.ACCT &nbsp &nbsp</td> 
       <td>@row.QuoteStart &nbsp &nbsp</td> 
       <td>@row.VIN &nbsp &nbsp </td>
       <td>@{ if (String.IsNullOrEmpty(row.AmountFinanced) == true) 
                 { &nbsp } else 
                 {String.Format("{0:0,0.00}",row.AmountFinanced) &nbsp &nbsp }
            } </td>
       <td>@row.Step &nbsp &nbsp </td>


</tr> 
} 
È stato utile?

Soluzione

È necessario avvolgere le &nbsp;s in un blocco <text></text>. In questo modo il parser di fuggire di nuovo in html perché quando sei in un blocco {} il parser supporre che il &nbsp; dovrebbe essere il codice.

@foreach(var row in db.Query(selectQueryString)){ 
<tr> 
       <td>@row.ACCT &nbsp &nbsp;</td> 
       <td>@row.QuoteStart &nbsp; &nbsp;</td> 
       <td>@row.VIN &nbsp; &nbsp; </td>
       <td>@{ if (String.IsNullOrEmpty(row.AmountFinanced) == true) 
                 { <text>&nbsp;</text> } else 
                 { @String.Format("{0:0,0.00}",row.AmountFinanced) <text>&nbsp; &nbsp;</text> }
            } </td>
       <td>@row.Step &nbsp; &nbsp; </td>
</tr> 
} 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top