DropDownList для не выбора с десятичными значениями - PullRequest
0 голосов
/ 03 сентября 2018

Я работаю с ASP.NET MVC 5 и Entity Framework 6, и у меня возникла проблема с выбранным значением модели (только для десятичных значений) в моих представлениях.

Это происходит только тогда, когда я получаю данные из базы данных, если я пытаюсь отправить форму, значение возвращается и выбирается правильно.

Это моя ViewModel

public class Regulacion
{
        public IEnumerable<SelectListItem> ListaPorcentajePuntos 
        {
                get
                {
                        return new List<SelectListItem>
                        {
                                new SelectListItem { Text="0,625%" , Value = "0,625"},
                                new SelectListItem { Text="1%" , Value = "1"},
                                new SelectListItem { Text="1,25%", Value="1,25" },
                                new SelectListItem { Text="2,5%" , Value = "2,5"},
                                new SelectListItem { Text="5%" , Value = "5"},
                        };
                }
        }

        public decimal? PorcentajePunto { get; set; }
        //other stuff 

        public Regulacion(Reg reg)
        {
            PorcentajePunto = reg.PorcentajePunto; 
        }

}

И я использую его в таком виде

@Html.DropDownListFor(x => x.PorcentajePunto, Model.ListaPorcentajePuntos, "Please select", new { @class = "form-control"})

Я почти уверен, что проблема возникает, когда я получаю данные из EF и десятичной точности, потому что, когда я отлаживаю, свойство PorcentajePunto сохраняет 5.00 вместо 5, если я изменяю вручную свойство 5 отлично работает.

Я прочитал этот вопрос и пытаюсь использовать SelectList вместо SelectListItem, но это не было решением

Как с этим справиться?

Спасибо!

РЕДАКТИРОВАТЬ

Я получаю Regulacion данные, подобные этим

using(var db = new DBTrafosContext())
{
   var a = db.Reg.FirstOrDefault();
   if(a != null){
       Regulacion newRegulacion = new Regulacion(a);
   }
}
...