Question

Razor fait un excellent travail de savoir ce que vous voulez faire quand il est simple. Je veux juste formater une variable d'une requête et je suis un peu confus. Tout fonctionne très bien, à l'exception de la ligne une avec l'instruction if chaîne de isnull en elle. Le compilateur échoue sur la ligne avec le {& nbsp} en disant qu'elle attend un point-virgule;. Voici le code:

@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> 
} 
Était-ce utile?

La solution

Vous devez envelopper vos &nbsp;s dans un bloc de <text></text>. Cela force l'analyseur pour échapper à nouveau dans html parce que quand vous êtes dans un bloc de {} l'analyseur suppose que l'&nbsp; est censé être le code.

@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> 
} 
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top