1

Когда я использую виджет Кендо UI Core, с Html.TextBoxFor (для числового редактирования текстового поля, в частности, ввести сумму в долларах), так как:NumericTextBox теряет свою ценность с помощью Html.TextBoxFor, а не HTML

@Html.TextBoxFor(i => i.TotalAmount, new { @class = "currency-editor", min = "0", }) 

О проводке назад и обрабатывать данные, значение возвращается обратно как null, и, следовательно, проверка на стороне сервера, выполняемая в контроллере, терпит неудачу, потому что ничего не возвращается.

Когда я использую Raw HTML, как:

<input type="text" id="@Html.IdFor(i => i.TotalAmount)" name="@Html.IdFor(i => i.TotalAmount)" value="@Model.TotalAmount" 
     class="currency-editor" min="0" /> 

Он работает просто отлично. Я не знаю, в чем разница? Плагин инициализации (который инициализирует без проблем) является:

$(".currency-editor").kendoNumericTextBox({ 
      format: "c2", 
      decimals: 2, 
      spinners: false 
     }); 

Очевидно, что появляется что-то внутри с плагином TextBoxFor, может быть Validation конкретнее? MVC 5, 2015 Q3 Kendo UI Core (бесплатная версия).

+0

При отключении кендо плагин код и использовать TextBoxFor, он работает? – Shyju

+0

Да, это было бы. Я понял это, это было связано с проверкой ... Я этого не осознавал. –

ответ

0

Проблема связана с ошибкой ввода-проверки и скрытием виджета - один шаг, который я не собирал, состоял в том, что это поле проверялось, и это добавилось к выходу тега. Трюк был (как указано в документации Telerik в):

@using (Html.BeginForm()) { 
    //omitted for brevity 
} 

<script type="text/javascript"> 
    $(function() { 
     $(".k-widget").removeClass("input-validation-error"); 
    }); 
</script> 

Реферировано здесь: http://docs.telerik.com/kendo-ui/aspnet-mvc/validation#the-widgets-are-hidden-after-a-postback-when-using-the-jquery-validation

0

пожалуйста, вы можете попробовать, как этот

<script> 
    $(".currency-editor").kendoNumericTextBox({ 
     format: "c2", 
     decimals: 2, 
     spinners: false, 
     value : @Model.TotalAmount 
    }); 

+0

Да, это был один из моих недостатков, спасибо. –

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