如何格式化内联剃刀变量

Kno*_*nox 5 razor asp.net-mvc-2

当Razor很简单时,它可以很好地了解你想要做什么.我只是想从查询中格式化变量,我有点困惑.一切都很好,除了一行if字符串isnull语句.编译器失败,{ }说它需要分号; 这是代码:

@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> 
} 
Run Code Online (Sandbox Code Playgroud)

Bui*_*ted 10

你需要将你的&nbsp;s 包裹起来<text></text>.这会强制解析器转义回html,因为当你在一个{}块中时,解析器将假定它&nbsp;应该是代码.

@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> 
} 
Run Code Online (Sandbox Code Playgroud)