6

Come si può vedere su DateTimePicker/Basic usage, l'esempio che ho usato di seguito imposta l'ora corrente 12:00 AM invece di DateTime.Ora quando si preme il collegamento al piè di pagina di DateTimePicker. Come sistemarlo?Kendo DateTimePicker imposta l'ora corrente 12:00 AM invece di DateTime.Ora

@(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) 
) 

Prima:
Before
Dopo:
After

Il collegamento inserti mezzanotte - ma questo si sente male.

Come si fa a inserire l'ora corrente invece?


Aggiornamento: Ecco il DateTimePicker e JavaScript metodi che ho usato durante l'ultima fase:

@{ 
    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 Grazie mille per la modifica. Qualche aiuto? –

+0

Scusa, non ho idea di come risolverlo, ma è una bella domanda. – buffjape

risposta

4

Ciao questo è come mi occupo;

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

risultato: youtube

+0

Ho riscontrato "SyntaxError: missing) dopo l'elenco degli argomenti: $ ('# test'). Val (23/12/2015 16:46:00); Si noti che si tratta di un progetto MVC e io uso questo metodo nella pagina Razor Ho rimosso qualche segno "", ma questa volta ho ricevuto l'errore sopra. Qualche idea? Puoi testarlo su http://dojo.telerik.com/ –

+0

che il codice che costruisco con la sintassi del rasoio già lo faccio appena come do – Zergling

+0

Mi spiace, ma per ogni caso ho riscontrato un errore (compliation, ecc.) Ho definito oggi variabile poco prima di DateTimePicker e datetimepicker_change() dopo DateTimePicker.Ho anche cercato di definirli in tag