es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo navegar en UWP a otra página xaml al hacer clic en un botón?

Estoy intentando validar los datos del usuario y cuando están correctos navegar a otra página xaml. Lo que tengo hace aparecer la página principal (MainPage) que es la ventana de inicio de sesión, pero cuando ingreso los datos y hago clic en el botón, se cierra la ventana, no está verificando la entrada del usuario.

Esto es lo que tengo:

        private void Login_Click(object sender, RoutedEventArgs e)
       {
            Connection.Open();
            // sda = new MySqlDataAdapter("select count(*) from customers where Name = '" + loginName.Text + "' and Password = " + password.Password +"", Connection);
            string query = "SELECT * FROM customers WHERE Name = '" + loginName.Text + "' and Password = '" + password.Password + "'";
            MySqlCommand cmd = new MySqlCommand();
            cmd.CommandText = query;
            MySqlDataAdapter sda = new MySqlDataAdapter(query, Connection);
            DataTable dt = new DataTable();
            sda.Fill(dt);

        if (dt.Rows.Count == 1)
        {
            this.Frame.Navigate(typeof(BlankPage1));

            /* BlankPage1 main = new BlankPage1();
            main.Show();
            this.Hide();
            Connection.Close(); */
        }
        else
        {
            message.Text = "¡Nombre o contraseña incorrectos! Por favor, inténtelo de nuevo.";
            /* var messageDialog = new MessageDialog("Nombre o contraseña incorrectos");
            await messageDialog.ShowAsync(); */
        } 
        Connection.Close(); 
   }

Las declaraciones comentadas son distintas cosas que estaba intentando.

Por favor, necesito ayuda para encontrar el problema, apreciaré cualquier ayuda.

¡Gracias de antemano!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema está en el código para navegar a la otra página XAML.

    Esta línea de código:

    this.Frame.Navigate(typeof(BlankPage1));
    

    debe estar dentro de una declaración “if” para asegurarse de que solo navegue cuando la entrada del usuario sea correcta.

    Además, asegúrese de que la MainPage no esté configurada para cerrarse al hacer clic en el botón o de que la aplicación no esté configurada para terminar al cerrar la ventana principal.

    Puede intentar envolver el código de navegación en una declaración “if” de la siguiente manera:

    if (dt.Rows.Count == 1)
    {
        Frame.Navigate(typeof(BlankPage1));
    }
    

    Si esto no funciona, puede intentar agregar un punto de interrupción en la línea de navegación y verificar si se está ejecutando realmente.

    ¡Espero que esto ayude!

Comments are closed.