3

En essayant de poster un formulaire contenant une liste déroulante avec des valeurs et une date et une heure de début et de fin. Le problème est que quand je poste le formulaire, il ne publie pas fondamentalement. Au lieu de poster il sélectionne l'entrée dateTimePicker (à cause de la bordure bleue dans le résultat html). Je ne peux pas mettre le doigt sur ce qui ne va pas. Merci d'avance!Kendo DateTimePicker ne pas poster asp.net MVC

DateTimePicker partials

@(Html.Kendo().DateTimePicker() 
      .Name("dtStartDatum") 
      .Value(DateTime.Today) 
      .Format("dd-MM-yyyy HH:mm") 
      .TimeFormat("HH:mm") 
      .DateInput(true) 
    ) 

    @(Html.Kendo().DateTimePicker() 
      .Name("dtEindDatum") 
      .Value(DateTime.Now) 
      .Format("dd-MM-yyyy HH:mm") 
      .TimeFormat("HH:mm") 
      .Min(Model.dtStartDatum) 
      .DateInput(true) 
    ) 

viewmodel avec les 2 DateTimes:

public IEnumerable<vmPar> parVoerpunt { get; set; } 
    public IEnumerable<vmPar> parKanaal { get; set; } 
    public IEnumerable<vmPar> parAlarm { get; set; } 
    [DataType(DataType.DateTime)] 
    public System.DateTime dtStartDatum { get; set; } 
    [DataType(DataType.DateTime)] 
    public System.DateTime dtEindDatum { get; set; } 
    public int afdelingId { get; set; } 
    public int afdelingIdSelected { get; set; } 
    public int stalId { get; set; } 

enter image description here EDIT Somethimes il ne fait poste après repicking nouvelles dates comme 10 fois. Quand il publie c'est la bonne valeur, mais je ne sais pas pourquoi ce n'est pas toujours affiché.

+0

Des erreurs de console? –

+0

@SteveGreene Aucune erreur de console en chrome ou en studio visuel ... –

+0

Est-ce que mon approche vous a donné un aperçu ou un cas différent? Avez-vous essayé de supprimer la valeur min? Si cela fonctionne correctement (dans la question des valeurs non postées) alors peut-être que je peux fournir un exemple de réglage de la valeur min d'une manière différente, car j'ai également défini une telle logique pour mes applications. –

Répondre

2

J'ai trouvé ma réponse, désolé pour la longue attente, je me suis juste rappelé de ce post.

Unobtrusive validation in Chrome won't validate with dd/mm/yyyy

Ceci est mon problème et ma asnwer. Le validateur a changé le mois et le jour du mois de sorte que choisir une date au-dessus du jour de la semaine 12 a donné une erreur de validation (qui était une erreur très silencieuse, ne peut toujours pas le trouver). Vraiment bizarre que le dd-mm-yyyy ne valide pas correctement même si la globalisation est correctement mise en place. J'espère que je peux aider quelqu'un.

2

J'utilise beaucoup le langage DateTimePickers de kendo dans mon projet. D'après ce que je vois, il y a quelques choses qui pourraient vous mener à votre problème.

@(Html.Kendo().DateTimePickerFor(m => m.dtStartDatum) 
     .Name("dtStartDatum") 
     .Value(DateTime.Today) 
     .Format("dd-MM-yyyy HH:mm") 
     .TimeFormat("HH:mm") 
     .DateInput(true) 
) 
  1. Vous définissez pour la deuxième datetimepicker comme valeur min du Model.dtStartDatum. Quand la vue rend, je devine que le champ n'a aucune valeur. Vous pouvez définir la valeur du premier datetimepicker sur DateTime.Today, mais cela ne signifie pas qu'il sera lu comme tel à partir de l'attribut min du second datetimepicker. La valeur qui est liée à la valeur min du second datetimepicker peut ne pas autoriser certaines dates à se lier au modèle. Le moyen le plus simple de le vérifier est d'ouvrir le calendrier et de voir s'il vous permet de sélectionner des dates avant aujourd'hui.
  2. Étant donné que vous semblez utiliser un modèle avec ces champs, vous pouvez utiliser DateTimePickerFor pour la liaison aux champs du modèle. Il n'est pas recommandé de l'utiliser comme vous l'utilisez, mais puisque vous insérez un modèle dans votre vue, c'est une meilleure pratique. (L'exemple ci-dessus)

  3. Je ne pense pas que la dateInput est nécessaire dans votre cas. Je ne pense pas que cela affecte quelque chose d'une mauvaise façon, mais ce n'est pas nécessaire.