我正在使用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