2015-06-19 2 views
1

Моя проблема очень похожа на то, что описано в этом вопросе: KendoNumericTextBox percentage formattingКендо UI NumericTextBox процентный формат

Но я использую ASP.NET MVC Упаковщики для визуализации NumericTextBox.

У меня есть следующий шаблон редактор для отображения виджета:

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

Но то, что происходит в том, что (примеры):

  • Значение показать, когда виджет сфокусирована: 0,01 -> Значение шоу когда виджет НЕ сфокусирован: 10,00%
  • Значение отображается, когда виджет IS сфокусирован: 0,63 -> Значение отображается, когда виджет НЕ сфокусирован: 63,00%
  • Значение отображается, когда виджет IS foc используется: 0,6345 -> Значение шоу, когда виджет не сфокусирован: 63,00%
  • Значение шоу, когда виджет сфокусирована: 5 -> Значение шоу, когда виджет не сфокусирован: 100,00%

То, что я хотел бы это somethinh так:

  • Значение шоу, когда виджет сфокусирована: 10 -> Значение шоу, когда виджет не сфокусирован: 10,00%
  • Значение шоу, когда виджет сфокусирована: 63 -> Значение отображается, когда виджет НЕ сфокусирован: 63,00%
  • Значение отображается, когда виджет Сфокусировано: 63,45 -> Значение шоу, когда виджет не сфокусирован: 63,45%

, но в базе данных, мне нужно, чтобы сохранить значение в диапазоне от 0 до 1. Это причина, у меня есть ....Min(0).Max(1)...

Как я могу достичь этого с помощью MVC Wrapper?

+0

, поэтому вам нужно отобразить. Вводимое значение us 0.01 -> должно отображаться 0.01% его правильно? –

ответ

1

Решение, которое я придумал было:

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

После того, в контроллере, я преобразовать в [0,1].

0

могли бы вы попробовать это,

$ ("# numerictextbox") kendoNumericTextBox ({ формат: "#"%" }).

для получения дополнительной информации найти эту ссылку

http://dojo.telerik.com/AKODe или Click Here

+0

В вашем первом решении, если я ставлю 6.3, он показывает 6% на фокус ... Я бы хотел 6,3%. Во втором решении мне нужно сохранить число от 0 до 1, несмотря на то, что оно показывает значение от 0 до 100% (с десятичными знаками). Так что это не работает. – amp

0

Используйте этот формат для вашего виджета

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

добавить еще '#' за '.', чтобы иметь больше знаков после запятой.

Смежные вопросы