0
votes

Comment envoyer DateTime avec itinéraire à Blazor

im essayant de créer un itinéraire pour l'une de mes pages Web blazor qui envoie une heure de date. Selon la documentation, il est soutenu mais je n'arrive pas à le faire fonctionner correctement. Heres comment je le fais.

où im essayant d'aller: p> xxx pré>

Comment je tente de naviguer là p> xxx pré>

sa navigation P>

https://localhost:44383/routeTest/123/12/11/2019%204:36:26%20PM


0 commentaires

3 Réponses :


2
votes

Comme vous l'avez identifié, la dateTime de l'URL affecte le routage en raison des barres obliques.

Envoyer le DateTime dans ISO8601 Format AAAA-MM-DDTHH: MM: MM: ss .

Vous pouvez utiliser: xxx

où le spécificateur de format s est appelé Modèle de date / heure tridable

ou xxx

Utilisez invariantCulture depuis le Routage BLAZOR States:

Les contraintes d'itinéraire qui vérifient l'URL et sont converties en type CLR. (tels que int ou DateTime ) utilise toujours la culture invariante. Celles-ci Les contraintes supposent que l'URL n'est pas localisable.


0 commentaires

2
votes

Le problème est que vous êtes dans vos dates de langue, utilisez le séparateur SLASH, ce qui fait que Blazor pense que vous essayez d'accéder à un itinéraire différent.

Chaque fois que vous envoyez des dates en tant que paramètre URL, ils doivent être en culture invariante et utiliser tirets. xxx

pour référence, voir l'avertissement dans le Documentation officielle


0 commentaires

2
votes

Ceci peut résoudre votre problème:

@code{
    int numberToSend = 123;
    string dateToSend = DateTime.Now.ToString("yyyy-MM-dd");

    private void Naviagte()
    {
        NavigationManager.NavigateTo("routeTest/" + numberToSend + "/" + dateToSend);
    }

}


0 commentaires