Kendo UI NumericTextBox百分比格式

时间:2015-06-19 23:35:05

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

我的问题非常类似于此问题中的解释: KendoNumericTextBox percentage formatting

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

我有以下编辑器模板来呈现Widget:

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

但正在发生的是(例子):

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

我想要的是这样的事情:

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

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

的原因

我怎样才能使用MVC Wrapper实现这个目标?

3 个答案:

答案 0 :(得分:1)

我想出的解决方案是:

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

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

答案 1 :(得分:0)

请你试试这个,

$( “#numerictextbox”)。kendoNumericTextBox({    格式:“#'%'” });

了解更多信息,请找到此链接

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

答案 2 :(得分:0)

将此格式用于您的小部件

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

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