Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    17

    ultimo evento occorso in un form

    Salve ragazzi, vorrei sapere in che modo posso (e spero ci sia :master: ) recuperare il nome o comunque un identificativo dell'ultimo evento occorso nella pagina.
    Per esempio, se ho cliccato "Button1" allora ho "Button1_Click".
    Mi chiederete: se gestisci l'evento allora dovresti sapere quale evento sia!
    Il problema è che devo gestire un cambiamento di testo in alcuni TextBox creati dinamicamente per aggiornamento database. Essendo dinamici, per evitare di perdere l'input dell'utente ho bisogno di assegnare il gestore di eventi dentro al Page_Load (if IsPostback):

    my_textbox.TextChanged += new EventHandler(my_textbox_Text_Changed);

    Ma siccome ho due bottoni nella pagina (uno invia i dati e l'altro annulla la transazione), devo sapere quale è stato cliccato, perché la gestione del cambiamento di testo deve avvenire solo nel caso sia stato cliccato il bottone di invio.
    Grazie anticipato!
    Teo

  2. #2

    Re: ultimo evento occorso in un form

    Originariamente inviato da TeoDB
    Ma siccome ho due bottoni nella pagina (uno invia i dati e l'altro annulla la transazione), devo sapere quale è stato cliccato, perché la gestione del cambiamento di testo deve avvenire solo nel caso sia stato cliccato il bottone di invio.
    Grazie anticipato!
    uno invia i dati e l'altro annulla la transazione... se l'utente ha cliccato il primo bottone, il form e' stato inviato al server e l'elaborazione viene iniziata ed eseguita. A quel punto puoi anche premere l'altro pulsante ma questo non incide sull'elaborazione precedente. Detto questo, per vedere in tempo reale il susseguirsi degli eventi della pagina puoi visualizzare trace.axd (per maggiori info su questa tecnica http://msdn2.microsoft.com/en-us/library/wwh16c6c.aspx )
    altre informazioni sul lifecycle della pagina asp.net 2.0
    http://msdn2.microsoft.com/en-us/library/ms178472.aspx
    http://msdn2.microsoft.com/en-us/library/ms178473.aspx
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    17
    I link sono interessanti ed utili! Però il problema è leggermente diverso.....
    Ti posto il codice in questione. Ecco qua:


    private void Page_Load(object sender, System.EventArgs e)
    {

    /* altro codice */

    if (IsPostBack)
    {
    for (int i = 1; i <= record_lenght; i++)
    {
    // Recupera ogni textbox dentro al placeholder
    TextBox my_textbox = (TextBox)PlaceHolder1.FindControl("TextBox" + i);

    if (/* testo modificato */)
    {
    my_textbox.TextChanged += new EventHandler(my_textbox_Text_Changed);
    break;
    }
    }
    }
    }


    Questo codice viene eseguito SOLO quando il testo dentro ad ALMENO uno dei TextBox è stato modificato dall'utente.
    Se questa condizione è soddisfatta, my_textbox_Text_Changed viene eseguito comunque ad ogni postback, sia che venga cliccato il bottone di invio o quello di annullamento.
    Io vorrei farlo eseguire solo nel primo caso. Non posso mettere il codice dentro al gestore del click del bottone di invio, perché sennò il testo modificato si perde.
    Cosa dite? Grazie ancora!
    Teo

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    17
    Questo codice viene eseguito SOLO quando il testo dentro ad ALMENO uno dei TextBox è stato modificato dall'utente.
    Intendo dire che il codice in my_textbox_Text_Changed viene eseguito in ogni caso se la condizione precedente è vera
    Teo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.