0
votes

Obtenez un champ de saisie de la date HTML 5 et passez au contrôleur .NET

sur ma page de rasoir, j'ai un sélecteur de date simple qui ressemble à ceci:

public IActionResult LessonIndex(datetime startDate) {

    var response = getLessons(startDate);

      return response.Results;
   } 


7 commentaires

"LessonStart" correspond-il à un nom valide dans votre razorpage ou contrôleur? Depuis que vous avez énuméré MVC comme l'une de vos balises ciblées.


J'ai une idée de ce que vous essayez de faire, mais j'ai besoin de clarification et d'une autre source si vous pouvez fournir à quoi ressemble votre contrôleur. Avez-vous également un modèle associé à la page en question?


@mvermef LekaStart était juste le nom que j'ai donné l'élément HTML. Cela ne signifie rien au-delà de cela.


Ceci est un contrôleur Razorpage ou MVC que vous souhaitez que cela revienne? 2 façons de monter 1) JavaScript ou 2) Poster un formulaire.


@mvermef J'ai également ajouté la méthode dans le contrôleur qui a besoin de la date du sélecteur de date. Veuillez noter qu'il n'y a pas de modèle associé à cette vue.


J'ai fait quelque chose de similaire, mais en utilisant un hub Signalr faisant beaucoup de hausse de la levée.


N'utilisez-vous pas le champ de saisie DatePicker dans un formulaire?


3 Réponses :


-1
votes
    <div class="demo-section k-content">
    <h4>Remind me on</h4>
@(Html.Kendo().DateTimePicker()
        .Name("datetimepicker")
        .Value(DateTime.Now)
        .HtmlAttributes(new { style = "width: 100%", title = "datetimepicker" })
        .DateInput()
)
</div>

1 commentaires

Je suis désolé, mais qu'est-ce que c'est .kendo ()? Merci



1
votes

En supposant que cela soit lié à MVC, le contrôleur disposerait d'une méthode associée au poste que vous effectueriez pour obtenir les données du formulaire sur le contrôleur. Cela utilise JavaScript pour publier des données sur votre LaSonindex () code> méthode. XXX PRE>

public class LessonController : Controller{

 [HttpPost]
 [AutoValidateAntiforgeryToken]
 public IActionResult LessonIndex(DateTime lessonStart){
          var response = getLessons(lessonStart);
    return View(response.results);
 }

}


4 commentaires

Bonjour, qu'est-ce que @Inject Microsoft.aspnetcore.Antiforgery.Intiforgery XSRF? Je n'ai jamais vu cela utilisé auparavant. Est-ce nécessaire? Merci


J'ai essayé le code et après avoir frappé le bouton "Go", je reçois cette erreur: localhost: 44304 / LeçonController / LessonIndex? LessonStart = Inv Alid% 20Date


Cause droite L'itinéraire doit être leçon / leçonIndex? LessonStart = "TheDatesent". En ce qui concerne XSRF, ses mesures préventives de défense de la demande de falsification ne sont pas vraiment nécessaires, mais une bonne idée de toutes les choses affichées via JavaScript. Ceci est pris en compte automatiquement si vous utilisez mais depuis la façon dont vous le faites sans formulaire, JavaScript doit être utilisé. Si la fonctionController s'affiche en fait dans l'URL, cette route est conçue ou mal formée.


Oh merci, je ne savais pas que vous deviez supprimer le mot "contrôleur". Merci! Ça fonctionne maintenant!



1
votes

"Notez que la date n'est pas utilisée dans un modèle, elle doit simplement être envoyée à un contrôleur."

Vous pouvez utiliser l'AJAX pour transmettre la date comme QueryString sur la méthode du contrôleur.

Voici l'exemple de test xxx

la méthode dans le contrôleur xxx


0 commentaires