我正在Silverlight 4中创建一个应用程序。用户接触到的第一个屏幕是登录屏幕(Login.xaml)。我在Login.xaml.cs文件中编写了下面的代码。Silverlight 4异步问题
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();
}
}
}
我的问题是,代码得到执行之前,我在AuthenticateUser方法中获取数据。代码立即归结为“无效的用户名或密码”,并在xaml页面上的所有执行完成后加载列表。
我知道有一些与异步一句话是走错了......我也知道我需要把一个事件,知道什么时候加载完成........
,但我不知道如何去做! 有人可以请在这个问题上发表一些看法...
谢谢。
什么是authenticateUser方法在做什么?它看起来像它正在返回一个布尔,但如果是这样的话,它是同步进行身份验证? – 2010-11-12 13:50:29
包含AuthenticateUser方法的代码对您来说非常重要,否则很难理解执行流程。当你点击一个“提交”按钮时,这个代码是(据我所知)执行的,这个假设是否正确,或者在你点击那个按钮之前,这个代码正在运行的问题的一部分? – Murven 2010-11-12 15:54:06