【问题标题】:Kendo UI NumericTextBox percentage formatKendo UI NumericTextBox 百分比格式
【发布时间】:2015-06-19 23:35:05
【问题描述】:

我的问题与此问题中的解释非常相似: KendoNumericTextBox percentage formatting

但我正在使用 ASP.NET MVC Wrappers 来呈现 NumericTextBox。

我有以下编辑器模板来呈现小部件:

@model double?
@(Html.Kendo().NumericTextBoxFor<double>(m => m)
.Format("{0:P2}")
.Min(0)
.Max(1)
.Step(0.01)
)

但发生的事情是(示例):

  • 小部件聚焦时显示的值:0.01 -> 小部件未聚焦时显示的值:10,00%
  • 小部件聚焦时显示的值:0.63 -> 小部件未聚焦时显示的值:63,00%
  • 小部件聚焦时显示的值:0,6345 -> 小部件未聚焦时显示的值:63,00%
  • 小部件聚焦时显示的值:5 -> 小部件未聚焦时显示的值:100,00%

我想要的是这样的:

  • 小部件聚焦时显示的值:10 -> 小部件未聚焦时显示的值:10,00%
  • 小部件聚焦时显示值:63 -> 小部件未聚焦时显示值:63,00%
  • 小部件聚焦时显示的值:63,45 -> 小部件未聚焦时显示的值:63,45%

但在数据库中我需要存储一个介于 0 和 1 之间的值。这就是我有 ....Min(0).Max(1)... 的原因

如何使用 MVC Wrapper 实现这一点?

【问题讨论】:

  • 所以你需要显示。输入值 us 0.01 -> 需要显示 0.01% 正确吗?

标签: asp.net-mvc kendo-ui kendo-asp.net-mvc


【解决方案1】:

我想出的解决方案是:

@(Html.Kendo().NumericTextBoxFor<double>(m => m)
    .Format("##.00 \\%")
    .Min(0)
    .Step(1)
    .Decimals(2)
)

之后,在控制器中,我转换为 [0,1]。

【讨论】:

    【解决方案2】:

    为您的小部件使用这种格式

    @(Html.Kendo().NumericTextBoxFor<double>(m => m)
        .Format("#.## '%'")
        .Min(0)
        .Max(1)
        .Step(0.01)
    )
    

    在'.' 后面添加更多'#' 以获得更多小数。

    【讨论】:

      【解决方案3】:

      请你试试这个,

      $("#numerictextbox").kendoNumericTextBox({ 格式: ”# '%'” });

      欲了解更多信息,请访问此链接

      http://dojo.telerik.com/AKODe 要么 Click Here

      【讨论】:

      • 在您的第一个解决方案中,如果我输入 6.3,它会显示 6% 的焦点不在...我想要 6.3%。第二种解决方案,我需要保存一个介于 0 和 1 之间的数字,尽管显示的值介于 0 和 100% 之间(带小数位)。所以它不起作用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多