Bar*_*rış 14 asp.net-mvc razor
当我写 @(line.Quantity * line.Product.Price).ToString("c")
的结果是
39,00.ToString("c")
Run Code Online (Sandbox Code Playgroud)
而@line.Quantity * line.Product.Price.ToString("c")
结果是
2 * line.Product.Price.ToString("c")
Run Code Online (Sandbox Code Playgroud)
如何在剃刀视图中将两个值相乘并将其转换为字符串?
jga*_*fin 43
尝试
@((line.Quantity * line.Product.Price).ToString("c"))
Run Code Online (Sandbox Code Playgroud)
问题是剃刀不知道输出字符串何时结束,因为@用于在HTML中显示代码.Spaces将剃刀切换回HTML模式.
将所有内容包含在括号中会使razor评估整个代码块.
虽然最合适的方法是在模型中引入新属性:
public class MyModel
{
public double Total { get { return Quantity * Product.Price; }}
//all other code here
}
Run Code Online (Sandbox Code Playgroud)
并简单地使用:
@line.Total.ToString("c")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
31524 次 |
最近记录: |