Подтвердить что ты не робот

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") 

Как я могу умножить два значения и преобразовать их в строку в виде бритвы?

4b9b3361

Ответ 1

попробовать

@((line.Quantity * line.Product.Price).ToString("c"))

Проблема заключается в том, что бритва не знает, когда заканчивается выходная строка, так как @используется для отображения кода в HTML. Spaces переключает бритву обратно в режим HTML.

Обертка всего в скобки делает бритву оценивать весь блок кода.

Хотя самым правильным способом было бы ввести новое свойство в вашу модель:

public class MyModel
{
   public double Total { get { return Quantity * Product.Price; }}
   //all other code here
}

и просто используйте:

@line.Total.ToString("c")