L’invio del Form, in asp.net

Ho due pulsanti, che sia l’invio di un form in asp.net.

Ho bisogno di sapere in funzione di seguito..Quale pulsante è stato premuto..Il login o registrati pulsante. E che informazioni, voglio innescare quello delle funzioni nell’evento load.

    protected void Page_Load(object sender, EventArgs e)
{
    AddCountries();
    AddAge();

      if (IsPostBack)
      {
          string pwd = LoginPassword.Text;
          string saltAsBase64 = "z3llWdYSA2DY3M4uNSpOQw==";
          string hash = HashPass.GenerateHash(pwd, saltAsBase64);

          if (Page.IsValid)
          {
              LoginUser(hash);
         ///Depending on what the user pressed..I need to trigger the function 
        //above or below
              RegisterUser(hash);
          }



      }
}

Che se ho questo nel pulsante evento:

FormsAuthentication.RedirectFromLoginPage(currentUser.Nome utente, false);

sarà il reindirizzamento avviene subito dopo il pulsante di evento? oppure attivare il caricamento della pagina evento ancora una volta, ignorando che il reindirizzamento?

 

One Reply
  1. 5

    Se i pulsanti sono lato server controlli <asp:button/> quindi si può gestire l’evento (specifico) pulsante:

    protected void Button1_Click(object sender, EventArgs e) {....}

    vs

    protected void Button2_Click(object sender, EventArgs e) {......}

    Che vengono allevati dopo Page_Load vedere: ASP.Net Ciclo Di Vita Della Pagina

    Se si utilizza HTML standard <input type=submit /> e l’invio alla stessa pagina, quindi si può controllare il Request.Form collezione (che si può fare anche con i controlli lato server).

    AGGIORNAMENTO:

    • Page_Load è sempre sollevato su un postback
    • la validazione lato client consente di evitare un postback
    • se si utilizza il server controlli di convalida, controllare Page.IsValid nel gestore prima di eseguire qualcosa di
    • A seconda delle esigenze, è anche possibile controllare controlli/valori Page_Load (controllo Page.IsPostBack – il punto è che si hanno opzioni…

    Quindi, se (invece) ha voluto indagare su Page_Load:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (Page.IsPostBack)
        {
            if ((UserEmail.Text == "[email protected]") &&
             (UserPass.Text == "37Yj*99Ps"))
              {
                FormsAuthentication.RedirectFromLoginPage
                   (UserEmail.Text, Persist.Checked);
              }
            else
              {
                ......
              }
        }
    }

    codice di cui sopra, preso, e leggermente modificata, da MSDN

    UPDATE2:

    Se si utilizza il server controlli di convalida, non utilizzare Page_Load. Utilizzare il pulsante di gestore e di controllo per Page.IsValid.

    • no, non sto usando regolarmente la posta voci…Quelle pulsante eventi sono solo andando a essere eseguito se la pagina è valida giusto?..vedere aggiornamento
    • aggiornamento….
    • aggiornato di nuovo…

Lascia un commento