En utilisant asp.net, les événements côté serveur seront automatiquement déclenchés lorsque la page sera actualisée. Prenons un exemple simple, tel que : une page d'inscription, après avoir rempli les informations d'inscription, si nous appuyons sur F5 pour actualiser, l'événement Button sera automatiquement déclenché, ce qui entraînera des problèmes de réinscription.
Ma solution précédente : requête avec des mots-clés, et s'il y a des similitudes, cela indiquera que cet utilisateur existe déjà.
Mais cette solution ne peut être utilisée sans reconnaissance, et il la soumettra à nouveau. Face à cela, j'ai cherché une nouvelle solution. Heureusement, avec les conseils d'un ami, j'ai trouvé une telle solution. Il doit y avoir une meilleure solution, et je n'hésiterai pas à vous donner des conseils.
Solution : lors de l'actualisation, capturez KeyPress et laissez-le déclencher d'autres événements inutiles.
1. JavaScript pour capturer l'événement F5
window.document.onkeydown = KeyStroke ;
fonction KeyStroke()
{
var clé = event.keyCode;
event.srcElement.releaseCapture();
si (clé == 116)
{
document.getElementById("Button1").click();
event.keyCode=0 ;
event.returnValue=false ;
}
}
2. Placez un bouton sur la page aspx
<asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 344px; POSITION: Absolute; TOP: 408px; WIDTH: 0px;" runat="server"
Text="Button"></asp:Button>
3. Événement de bouton
private void Button1_Click (expéditeur d'objet, System.EventArgs e)
{
Response.Write( "Vous avez appuyé sur la touche F5");
}
Cette solution « sauver la voiture pour garder le beau » peut résoudre le petit problème du déclenchement automatique des événements pour l'actualisation. Si quelqu'un a une meilleure solution, faites-le moi savoir, je lui en serais très reconnaissant !