Xamarin.Forms-Android上不全局支持PushAsync,请使用NavigationPage

问题描述 投票:0回答:1

我想做的是在用户注册之后,然后单击是,它将转到LoginPage。否则用户单击“取消”它将去注册,请帮助我。.我是xamarin中的newbee

    void Handle_Clicked(object sender, System.EventArgs e)
    {
      string ConnectionString = "Server=10.0.2.2; Port=5432;User Id=postgres; Password=ncf123; Database=Accounting";
            try
            {
                NpgsqlConnection connection = new NpgsqlConnection(ConnectionString);
                connection.Open();
            }
            catch (Exception)
            {
                Console.WriteLine("adi na");

            }
            NpgsqlConnection connections = new NpgsqlConnection(ConnectionString);
            connections.Open();
            NpgsqlCommand command = connections.CreateCommand();
            command.CommandText = "INSERT INTO account(username, password, email, phonenumber) VALUES ( '" + EntryUsername.Text + "', '" + EntryPassword.Text + "','" + EntrEmail.Text + "','" + EntryPhoneNumber.Text + "')";
            try
            {
                NpgsqlDataReader reader = command.ExecuteReader();

                while (reader.Read())
                {
                    EntryUsername.Text = reader[0].ToString();
                    EntryPassword.Text = reader[1].ToString();
                    EntrEmail.Text = reader[2].ToString();
                    EntryPhoneNumber.Text = reader[3].ToString();

                }
            connections.Close();
            Device.BeginInvokeOnMainThread(async () =>
            {
                var result = await DisplayAlert("Congratulations", "User Registration Successfull", "Yes", "Cancel");
                if (result)
                {
                    await Navigation.PushAsync(new LoginPage());
                }
                else
                {
                    await Navigation.PushAsync(new registration());
                }

            });

        }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }

UPDATE这是我的App.xaml.cs

public partial class App : Application
{
    public App()
    {
        InitializeComponent();

        MainPage = new registration();
    }

    protected override void OnStart()
    {
    }

    protected override void OnSleep()
    {
    }

    protected override void OnResume()
    {
    }
}

[请帮助我,我是xamarin和Postgresql中的newbee

xamarin xamarin.forms xamarin.android navigation
1个回答
0
投票

在您的app.cs中,更改MainPage = new MainPage();到MainPage = new NavigationPage(new MainPage());其中MainPage()是您启动应用程序时要打开的页面的名称

© www.soinside.com 2019 - 2024. All rights reserved.