Формат десятичного числа в представлении - PullRequest
13 голосов
/ 15 марта 2012

Если у меня есть десятичное значение в поле, и я пытаюсь отобразить на странице, как мне отформатировать его (я бы использовал string.format в веб-формах):

@Html.DisplayFor(Function(modelItem) String.Format("{0:n0}",currentItem.QualityM1))

Этоошибки в VS2010 с помощью messae: шаблоны можно использовать только с доступом к полям, доступом к свойствам, индексом одномерного массива или выражениями настраиваемого индексатора с одним параметром.

Ответы [ 3 ]

21 голосов
/ 15 марта 2012

Я бы не стал делать это в представлении.Было бы лучше централизовать это и предоставить эту информацию в виде метаданных, как показано ниже:

public class Foo { 

    [DisplayFormat(DataFormatString = "{0:n0}")]
    public decimal Bar { get; set; }
}

. Затем используйте это как обычно:

12 голосов
/ 15 марта 2012

Вам нужно использовать Html.DisplayFor?

В противном случае вы можете просто сделать:

@String.Format("{0:n0}",currentItem.QualityM1)
4 голосов
/ 12 февраля 2014

не делайте в DisplayFor ... в классе установите аттрибут как этот.

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:N2}")]
    public virtual decimal Valor
    {
        get;
        set;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...