Дисплей 1000 разделитель запятой в представлении MVC 5 - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть элемент представления ниже MVC, и я пытаюсь отобразить данные в разделителе 1000 без десятичной дроби. Я попытался применить "{0: C0}", "{0: N0}" (вариант 1) в аннотации данных, чтобы когда данные извлекаются из базы данных и отображаются в представлении, применяется аннотация данных. Это не работает

Например: 1000000 => 1 000 000

Вариант 1

[Display(Name = "Services", ResourceType = typeof(Resources.Labels))]
            [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:C0}")]
            public int? Services { get; set; }

Как вариант 2, я попробовал ниже фрагмент кода, который отображает извлеченные данные в формате 1,000,000, но в методе post значение поля всегда равно нулю. Любые входные данные, в которых данные могут отображаться в формате 1 000 000, но когда дело доходит до публикации, они все равно должны передавать значение как 1000000.

Вариант 2

<div class="notified-option-value cell border-top border-right" id=@("value-container" + i)>
                        @Html.TextBoxFor(m => m.OptionsEditViewModel.AddCoverageBBR[k].AddCoverage.Services, "{0:C0}", new { id = "limit-of-coverage-value" + i, @class = "option-value cell" })
                    </div>

1 Ответ

0 голосов
/ 05 апреля 2019

У вас есть два варианта для подобных ситуаций.

  1. Обработка форматирования (1000 -> 1000) и синтаксического анализа (1000 -> 1000) в JavaScript,

установите для ввода значение text и отформатируйте содержимое, используя такие события ввода, как onblur, onchange или onkeyup, есть некоторые библиотеки jQuery, которые могут справиться с этим.

делает поле модели строкой, поэтому, когда вы отправляете что-то вроде 1,000,000, оно будет принято (а не null), и вы обработаете его в коде C #, в таких случаях может помочь использование свойств с геттерами и сеттерами.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...