Asp.net mvc asp.net mvc将两项相乘并转换为字符串

Asp.net mvc asp.net mvc将两项相乘并转换为字符串,asp.net-mvc,razor,Asp.net Mvc,Razor,当我写@(line.Quantity*line.Product.Price).ToString(“c”)时,结果是 39,00.ToString("c") 和@line.Quantity*line.Product.Price.ToString(“c”)结果为 2 * line.Product.Price.ToString("c") 如何在razor视图中将两个值相乘并将其转换为字符串?试试看 @((line.Quantity * line.Product.Price).ToString(

当我写
@(line.Quantity*line.Product.Price).ToString(“c”)
时,结果是

39,00.ToString("c") 
@line.Quantity*line.Product.Price.ToString(“c”)
结果为

2 * line.Product.Price.ToString("c") 
如何在razor视图中将两个值相乘并将其转换为字符串?

试试看

@((line.Quantity * line.Product.Price).ToString("c"))
问题是razor不知道输出字符串何时结束,因为@用于在HTML中显示代码。空格切换回HTML模式

将所有内容包装到括号中,可以使razor计算整个代码块

尽管最合适的方法是在模型中引入新属性:

public class MyModel
{
   public double Total { get { return Quantity * Product.Price; }}
   //all other code here
}
并简单地使用:

@line.Total.ToString("c")

我同意,在演示文稿中进行逻辑计算肯定不好