在视图MVC 5中显示1000个逗号分隔符

时间:2019-04-05 17:49:20

标签: javascript asp.net-mvc model-view-controller asp.net-mvc-5.2

我确实有下面的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方法中,字段值始终为null。可以以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 :(得分:0)

在这种情况下,您有两种选择。

  1. 使用JavaScript处理格式(1000-> 1,000)和解析(1,000-> 1000),

将输入设置为输入 text 并使用诸如onbluronchangeonkeyup之类的输入事件来格式化内容,有些jQuery库可以处理这个。

  1. 将model字段设置为字符串,因此当您发送1,000,000之类的内容时,该字段将被接受(而不是null),并在C#代码中进行处理,在这种情况下,将属性与getter和setter一起使用可能会有所帮助。