2010-04-07 4 views
2
public partial class _Default : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) // If page loads for first time 
    { 
     Session["update"] = Server.UrlEncode(System.DateTime.Now.ToString()); // Assign the Session["update"] with unique value 

     //=============== Page load code ========================= 





     //============== End of Page load code =================== 
    } 

} 



protected void Button1_Click(object sender, EventArgs e) 
{ 
    if (Session["update"].ToString() == ViewState["update"].ToString()) // If page not Refreshed 
    { 
     //=============== On click event code ========================= 

     Label1.Text = TextBox1.Text; 
     //lblDisplayAddedName.Text = txtName.Text; 


     //=============== End of On click event code ================== 

     // After the event/ method, again update the session 
     Session["update"] = Server.UrlEncode(System.DateTime.Now.ToString()); 
    } 
    else // If Page Refreshed 
    { 
     // Do nothing 
    } 
} 
protected override void OnPreRender(EventArgs e) 
{ 
    ViewState["update"] = Session["update"]; 
} 

} 

Ceci ne fonctionne pas pour un arrière-plan dégradé haute résolution.pour éviter l'actualisation de la page lors d'un événement de clic sur un bouton dans asp.net

Répondre

2

Envisagez d'entourer votre bouton et l'étiquette d'un contrôle updatepanel, qui utilise AJAX pour actualiser leur contenu. Le reste de la page ne sera pas rechargé et l'action n'affectera pas la navigation du navigateur.

Voir this page sur le fonctionnement d'un contrôle updatepanel.

1

Étant donné que vous gérez l'événement de clic de bouton du côté serveur, il doit y avoir une publication pour le gérer.

Si vous ne voulez pas un poste de retour pour se changer la gestion des événements pour « clic client »

0

// Code Heinzi a fonctionné pour moi juste fait un petit changement dans l'événement OnPreRender, affecter la valeur ViewsState lorsque son non retour

protected override void OnPreRender(EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      ViewState["update"] = Session["update"]; 

     } 

    } 
Questions connexes