Je crée une application dans Silverlight 4. Le premier écran avec lequel l'utilisateur entre en contact est l'écran de connexion (Login.xaml). J'ai écrit le code suivant dans le fichier Login.xaml.cs.Silverlight 4 Problème asynchrone
private void btnSubmit_Click(object sender, RoutedEventArgs e)
{
//first validate if the user is authorised for this application
if (this.ValidateEntry())
{
if (UserAuthenticationBL.AuthenticateUser(txtUserName.Text.Trim(), txtPassword.Password.Trim()))
{
//since the user is authenticated we will show the dashboard screen
this.Content = new MainPage();
}
else
{
this.ShowErrorMessage("Invalid username or password");
txtUserName.Focus();
}
}
}
Mon problème est que le code est exécuté avant que j'obtienne les données dans la méthode AuthenticateUser. Le code descend immédiatement au "nom d'utilisateur ou mot de passe invalide" et la liste est chargée après que toute l'exécution sur la page de xaml ait fini.
Je sais qu'il ya quelque chose de mal avec le rienJe Asynchronous ... et je sais aussi que je dois mettre un événement pour savoir quand le chargement a terminé ........
mais je ne savoir comment s'y prendre !!! quelqu'un peut s'il vous plaît mettre un peu de lumière sur cette question ...
merci.
Quelle est la méthode AuthenticateUser font? On dirait qu'il retourne un booléen, mais si c'est le cas, est-ce qu'il fait l'authentification de manière synchrone? –
Il est vraiment important d'inclure le code de la méthode AuthenticateUser, sinon il est difficile de comprendre le déroulement de l'exécution. Ce code est (autant que je sache) exécuté lorsque vous cliquez sur un bouton "Envoyer", cette hypothèse est-elle correcte ou est-ce une partie du problème que ce code est en cours d'exécution avant de cliquer sur ce bouton? – Murven