en double de Asp.Net Button Event on refresh fires again??? GUID?Prévenir la page Rafraîchir en C#
bonjour, ive un site Web et lorsqu'un utilisateur clique sur un bouton et la postback page, si l'utilisateur actualiser la page ou appuyez sur F5 la méthode bouton est appelé à nouveau. Quelqu'un connaît une méthode pour empêcher l'actualisation de la page sans rediriger la page vers la même page?
Quelque chose comme si (page.isRefresh) ou quelque chose ... ou si une solution javascript existe, c'est mieux.
ce voit des œuvres .... mais quand je le rafraîchir ne Postback mais montre la valeur avant dans la zone de texte
http://www.dotnetspider.com/resources/4040-IsPageRefresh-ASP-NET.aspx
private Boolean IsPageRefresh = false;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["postids"] = System.Guid.NewGuid().ToString();
Session["postid"] = ViewState["postids"].ToString();
TextBox1.Text = "Hi";
}
else
{
if (ViewState["postids"].ToString() != Session["postid"].ToString())
{
IsPageRefresh = true;
}
Session["postid"] = System.Guid.NewGuid().ToString();
ViewState["postids"] = Session["postid"];
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (!IsPageRefresh) // check that page is not refreshed by browser.
{
TextBox2.Text = TextBox1.Text + "@";
}
}
cela ne fonctionne pas pour Actualiser, lorsque vous actualisez la page, il dit au navigateur de répéter le dernier événement – jmpena
Cela arrête juste le bouton de travailler plus d'une fois, peu importe si le message provient d'un rechargement ou un clic sur un bouton réel. – Guffa
ouais cela fonctionne. C'est le même code que j'ai trouvé, mais quand vous cliquez sur le bouton, puis appuyez sur rafraîchir, il montre "HI" et non la nouvelle valeur. : P je pense que je peux vivre avec, essayer de modifier cela. merci – jmpena