2010-10-08 12 views
7

मेरे पास ASP.NET 2.0 में एक पंजीकरण फ़ॉर्म है। मैं सबमिट बटन पर क्लिक करके या तो अपने पंजीकरण फॉर्म फ़ील्ड को सहेजना चाहता हूं या उन्हें हर पांच सेकंड में सहेजा जाना चाहिए।ASP.NET में "ऑटो सेव" या "सेव ड्राफ्ट" सुविधा को कैसे कार्यान्वित करें?

उदाहरण के लिए मैं अपने पंजीकरण पृष्ठ में तीन क्षेत्रों है:

UID PWD Name

उपयोगकर्ता UID और PWD में प्रवेश किया है और जब वह Name प्रवेश कर रहा है पिछले मानों के बिना उपयोगकर्ता आदानों की रुकावट को बचाया जाना चाहिए

मैं एएसपी.नेट में यह कैसे करूं?

उत्तर

9

आप जावास्क्रिप्ट & jQuery के स्निपेट के साथ ऐसा कर सकते हैं। एक ऐसा फ़ंक्शन है जिसे टाइमर द्वारा निकाल दिया जाता है जो समय-समय पर उस फ़ॉर्म डेटा को पढ़ता है जिसे आप सहेजना चाहते हैं और उसे SaveDraft.aspx पृष्ठ पर पोस्ट करें। इस पृष्ठ में डेटा कहीं भी रहता है (जैसे डेटाबेस)।

यदि उपयोगकर्ता लॉग आउट करता है या उनका सत्र गुम हो जाता है तो आप इस डेटा के लिए पूछ सकते हैं और डेटा मौजूद होने पर फॉर्म को पूर्व-पॉप्युलेट कर सकते हैं।

अपने डेटा प्रविष्टि ASPX पेज पर:

// 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> 

अपने 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  
    } 
} 

कि आरंभ करना चाहिए।

+0

क्या आप फ़ंक्शन और टाइमर कॉल भी पोस्ट कर सकते हैं? – Sandy

+0

मुझे आपका अंक मिला। लेकिन मुझे नहीं पता कि यह कैसे करना है? इसलिए यदि आप स्रोत कोड पोस्ट करते हैं जो मेरे लिए आसान होगा। – Sandy

+0

@ सैंडी - मैंने अपने उत्तर को प्रोटोटाइप – Kev

संबंधित मुद्दे