2010-11-22 29 views
5

Razor, basit olduğunda ne yapmak istediğinizi bilmek için harika bir iş çıkarır. Sadece bir sorgudan bir değişken biçimlendirmek istiyorum ve biraz kafam karıştı. Her şey, if dizgesiyle birlikte bir satır dışında, harika çalışır. Derleyici, bir noktalı virgül beklediğini söyleyerek {& nbsp} satırında başarısız olur;Satır içi traş değişkenleri nasıl biçimlendirilir

@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> 
} 

cevap

10

Bir <text></text> blokta sizin &nbsp; s kaydırmak gerekir: İşte kod. Bu, ayrıştırıcıyı html'ye geri göndermeye zorlar çünkü bir {} engellendiğinde, ayrıştırıcı, &nbsp; kodunun olması gerektiğini varsayar.

@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> 
} 
+0

Koddaki açıklama ve düzeltmeler için teşekkür ederiz. String.Format'dan önce bir @ gerekir. İşte kullandığım son kod (binlerce göstergeyi ekleyebilmek için bir dizgiyi bir sayıya dönüştürmem gerekiyordu): {@ String.Format ("{0: 0,0.00}", Convert.ToDouble (row.AmountFinanced))) & nbsp & nbsp}} Cevabınızı düzenlerseniz, kabul edildi olarak işaretlerim. Tekrar teşekkürler. – Knox

+0

@ ile ilgili haklısınız çünkü onu ekrana çıkaracaksınız. “ ” güncellemesinden daha çok endişeliydim. Teşekkürler :) – Buildstarted