DropDownList用于不使用十进制值进行选择

时间:2018-09-03 11:31:51

标签: c# asp.net-mvc entity-framework asp.net-mvc-5 entity-framework-6

我正在使用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而不是{{1} },如果我将属性手动修改为5,则效果很好。

我阅读了this问题,并尝试使用5代替SelectList,但这不是解决方案

我该如何处理?

谢谢!

编辑

我正在这样获取SelectListItem数据

Regulacion

0 个答案:

没有答案