Comment implémenter une fonctionnalité "Enregistrer automatiquement" ou "Enregistrer le brouillon" dans ASP.NET?

J'ai un formulaire d'inscription dans ASP.NET 2.0. Je veux enregistrer mes champs de formulaire d'inscription en cliquant sur le bouton Soumettre ou ils doivent être sauvegardés toutes les cinq secondes.

Par exemple, j'ai trois champs dans ma page d'inscription:

UID PWD Name

L'utilisateur a saisi UID et PWD et, pendant son entrée Name les valeurs précédentes doivent être sauvegardées sans interruption des entrées utilisateur

Comment faire cela dans ASP.NET?

Vous pouvez le faire avec un extrait de Javascript & jQuery. Avoir une fonction déclenchée par une minuterie qui lit périodiquement les données de formulaire que vous souhaitez enregistrer et la relève dans une page SaveDraft.aspx . Dans cette page, persiste les données quelque part (comme une base de données).

Si l'utilisateur se déconnecte ou que sa session est perdue, vous pouvez demander ces données et pré-remplir le formulaire si les données existent.

Sur votre page ASPX d'entrée de données:

 // Usual ASP.NET page directives go here <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <script type="text/javascript" src="Scripts/jquery-1.4.1.min.js" ></script> </head> <body> <form id="form1" runat="server"> <div> <asp:textbox id="username" runat="server" /><br /> <asp:textbox id="password" runat="server" /><br /> <asp:textbox id="realName" runat="server" /><br /> <asp:button id="Submit" onclick="Submit_Click" usesubmitbehavior="true" runat="server" /> </div> </form> <script type="text/javascript"> $(document).ready(function () { // Configure to save every 5 seconds window.setInterval(saveDraft, 5000); }); // The magic happens here... function saveDraft() { $.ajax({ type: "POST", url: "SaveDraft.aspx", data: ({ username: $("#<%=username.ClientID %>").val(), password: $("#<%=password.ClientID %>").val(), realName: $("#<%=realName.ClientID %>").val() }), success: function (response) { alert('saved draft'); } }); } </script> </body> </html> 

Dans votre page SaveDraft.aspx :

 public partial class SaveDraft : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string username = Request.Form["username"]; string password = Request.Form["password"]; string realName = Request.Form["realName"]; // Save data somewhere at this point } } 

Cela devrait vous aider à démarrer.