6

Как видно из DateTimePicker/Basic usage, приведенный ниже пример устанавливает текущий час 12:00 AM вместо DateTime.Now при нажатии ссылки на нижнем колонтитуле DateTimePicker. Как это исправить?Kendo DateTimePicker установлен текущий час 12:00 AM вместо DateTime.Now

@(Html.Kendo().DateTimePickerFor(m => m.VisitDate) 
    .Animation(true) 
    .Format("dd/MM/yyyy HH:mm") 
    .TimeFormat("HH:mm") 
    .Min(new DateTime(1900, 1, 1)) 
    .Max(new DateTime(2099, 12, 31)) 
    .Footer(true) 
    .Value(DateTime.Now) 
) 

До:
Before
После:
After

Ссылка вставляет полночь - но это кажется неправильным.

Как вы можете вставить это время вместо этого?


Update: Вот DateTimePicker и JavaScript методы, которые я использовал на последнем шаге:

@{ 
    ViewBag.Title = "Create"; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
    var today = DateTime.Now.ToString("dd/MM/yyyy 00:00", 
        new System.Globalization.CultureInfo("en-US")); 
} 


@(Html.Kendo().DateTimePicker() 
    .Name("datetimer") 
    .Animation(true) 
    //.Culture("en-US") 
    .TimeFormat("HH:mm") 
    .Min(new DateTime(1900, 1, 1)) 
    .Max(new DateTime(2099, 12, 31)) 
    .Value(DateTime.Now) 
    .Format("dd/MM/yyyy HH:mm") 
    .Events(e => e.Change("datetimepicker_change")) 
) 


<script> 
function datetimepicker_change() { 
    // I use this method so that when selecting another day except from today, 
    // the hour should be 00:00. But it does not make sense whether or not using it 
    if ($('#datetimer').val() != '@today') { 
     return; 
    } 


    if ($('#datetimer').val() == '@today') { 
     $('#datetimer').val('@DateTime.Now.ToString("dd/MM/yyyy HH:mm")'); 
    } 
} 
</script> 
+0

@buffjape Спасибо много для редактирования. Любая помощь PLS? –

+0

Извините, я понятия не имею, как это исправить, но это отличный вопрос. – buffjape

ответ

4

Здравствуйте, это как я справиться с этим;

var today = DateTime.Now.ToString("dd/MM/yyyy 00:00", new System.Globalization.CultureInfo("en-US")); 

@(Html.Kendo().DateTimePicker() 
    .Name("test") 
    .Animation(true) 
    .TimeFormat("HH:mm") 
    .Min(new DateTime(1900, 1, 1)) 
    .Max(new DateTime(2099, 12, 31)) 
    .Value(DateTime.Now) 
    .Format("dd/MM/yyyy HH:mm") 
    .Events(e => e.Change("datetimepicker_change")) 
) 

<script> 
    function datetimepicker_change() { 
    if ($('#test').val() == '@today') { 
     $('#test').val('@DateTime.Now'); 
    } 
    } 
</script> 

full code via VS 2015

результат: youtube

+0

Я встречаю «SyntaxError: missing» после списка аргументов: $ ('# test'). Val (23/12/2015 16:46:00); Обратите внимание, что это проект MVC, и я использую этот метод на странице Razor Я удалил какой-то знак «», но на этот раз я получу ошибку выше. Любая идея? Вы можете протестировать ее на http://dojo.telerik.com/ –

+0

, что код, который я строю с синтаксисом бритвы, уже сделал это как i do – Zergling

+0

Извините, но для каждого случая я встречаю ошибку (compliation и т. д.). Я определил сегодняшнюю переменную непосредственно перед DateTimePicker и datetimepicker_change() после DateTimePicker. Я также попытался определить их в

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