У меня такой же точный код, работающий при открытии Page
и нажатии Button
. Это код при загрузке:
[Obsolete]
public LoginPage()
{
Task.Run(async () =>
{
User results = await LoginService.Login(username.Text.Trim(), password.Text.Trim());
if (results != null)
{
GlobalVars.loginProfilJsonObject = results;
Application.Current.MainPage = new MainPage();
Console.WriteLine("Not executing");
}
else
{
await DisplayAlert("Error", "Wrong email address or password", "OK");
}
});
}
и это нажатие кнопки:
[Obsolete]
async void OnClicked(object sender, EventArgs e)
{
User results = await LoginService.Login(username.Text.Trim(), password.Text.Trim());
if (results != null)
{
GlobalVars.loginProfilJsonObject = results;
Application.Current.MainPage = new MainPage();
}
else
{
await DisplayAlert("Error", "Wrong email address or password", "OK");
}
}
Я попытался try...catch
, чтобы попытаться получить какие-либо ошибки, но ничего. Я думаю, это связано с этой строкой, но я не могу понять, что это такое;Application.Current.MainPage = new MainPage();
. Ничего не выполняется после этой строки. Это произошло после того, как я обновился до последней Xamarin.Forms
версии.
Редактировать: Страница вызывается через MainPage
после проверки для входа в систему
if (GlobalVars.loginProfilJsonObject == null)
{
Task.Run(async () =>
{
await Navigation.PushAsync(new LoginPage());
});
}