Форматирование десятичной точки в виде
Если у меня есть десятичное значение в поле, и я пытаюсь отобразить на странице, как его форматировать (я бы использовал string.format в веб-формах):
@Html.DisplayFor(Function(modelItem) String.Format("{0:n0}",currentItem.QualityM1))
Эти ошибки в VS2010 с помощью messae: Шаблоны могут использоваться только с доступом к полю, доступом к свойствам, индексом одномерного массива или однопараметрическими пользовательскими выражениями индексатора.
Ответы
Ответ 1
Я бы не сделал этого внутри представления. Было бы лучше централизовать это и предоставить эту информацию в виде метаданных, как показано ниже:
public class Foo {
[DisplayFormat(DataFormatString = "{0:n0}")]
public decimal Bar { get; set; }
}
Затем используйте это как обычно:
@Html.DisplayFor(m => m.Bar)
Ответ 2
Вам нужно использовать Html.DisplayFor?
В противном случае вы можете просто:
@String.Format("{0:n0}",currentItem.QualityM1)
Ответ 3
Не делайте в DisplayFor
... в классе задайте атрибут, подобный этому.
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:N2}")]
public virtual decimal Valor
{
get;
set;
}
Ответ 4
в MVC 5 вы можете изменить индекс View, если вы хотите просто показать два нуля после двойного значения
код Be для
@Html.DisplayFor(modelItem => item.PRSPrice)
код после
@Convert.ToDouble(item.PRSPrice.Value).ToString("0.00")
Thanx