Florian Rousselet

Passionné de Windows Phone

Bug : char « + » via NavigationService.Navigate

Bonjour à tous, je vais traiter dans cet article d’un bug que j’ai rencontré récemment lors du développement d’une application.
Je traitais une différence entre 2 ressources une locale (Isolated Storage) et une venant d’Internet. Pour signaler un changement, je me suis mis en tête d’utiliser le caractère « + » à la fin de ma ressource, et de vérifier plus tard ainsi si ma ressource contenait ce caractère.

Après avoir coder, je suis passé à la phase de test et suis resté bloqué quelques bonnes minutes car l’application ne marchait pas convenue !

A force d’utiliser des breakpoints, j’ai réussi à isoler d’où venait le bug !

Je passais ma ressource (une suite de chiffre avec ou non le signe + à la fin) via le navigateservice.navigate à une seconde page de l’application.

A la sortie de la page 1, la string était bonne mais en entrée de la page 2, le querystring retournait ma suite de chiffre sans son + !
A la place du +, la string contenait un espace en fait !

Pour vérifier ce « bug », j’ai crée une nouvelle app vide avec une textbox, un bouton pour changer de page et 2 textblock sur la seconde page (affichage du texte et de la longueur)

J’ai testé plusieurs chaîne de caractères : az+ / az / +az

UI : chaîne az+

Résultat : longueur 3 et disparition du +

Avec az la longueur est de 2, pas de problème

+az , on visualise bien le problème

Sur la dernière image, on visualise bien le problème. Le + est remplacé par un espace, qui se retrouve souligné du coup !

Je ne sais pas d’où viens ce bug mais il m’a quelque peu laissé pantois.

Moralité : Le + n’est pas une très bonne solution =D

No Responses to “Bug : char « + » via NavigationService.Navigate”

Flux RSS des commentaires de cet article. TrackBack URL

Désolé, les commentaires sont fermés pour le moment.