代码之家  ›  专栏  ›  技术社区  ›  Knox

如何格式化内联razor变量

  •  5
  • Knox  · 技术社区  · 14 年前

    剃须刀做了一个伟大的工作,知道你想做什么时,它是简单的。我只想格式化查询中的变量,有点困惑。一切都很好,除了其中一行if string isnull语句。编译器在带有{&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) 
                     { &nbsp } else 
                     {String.Format("{0:0,0.00}",row.AmountFinanced) &nbsp &nbsp }
                } </td>
           <td>@row.Step &nbsp &nbsp </td>
    
    
    </tr> 
    } 
    
    1 回复  |  直到 14 年前
        1
  •  10
  •   Buildstarted    13 年前

    你需要把你的 &nbsp; 在一个 <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> 
    }