2012-09-10 12 views
5

मेरे पास एएसपीनेट फॉर्म ऐप था जब उपयोगकर्ता F5 पर क्लिक करता है या रीफ्रेश करता है तो यह अंतिम डेटा एंट्री से डेटा दर्ज करेगा। क्या उपयोगकर्ता डेटा भेजने से रोकने के लिए दूर है यदि उपयोगकर्ता F5 पर क्लिक करें या रीफ्रेश करें?उपयोगकर्ता को F5 दबाकर या asp.net में रीफ्रेश करने पर डेटा को रोकने से कैसे रोकें?

+1

@aelnajjar कम से कम यहां देखें! http://stackoverflow.com/questions/3759572/avoid-form-re- सबमिट करें और http://stackoverflow.com/questions/2526568/asp-net-prevent-form-submission-twice यह कई बार पूछा गया है ! –

उत्तर

11

एएसपी.NET में अपने प्रारंभिक स्थिति में पृष्ठ को रीसेट करना आसान है। यहां 3 तरीके हैं जो आप कर सकते हैं:

  1. Response.Redirect (Request.Path);

जिसमें अनुरोध करने के लिए मार्ग का अनुसरण रूप में प्रस्तुत किया जाता है: /MyApp/MyFile.aspx

  1. Response.Redirect (Request.RawUrl);

जिसमें न केवल पथ अवगत कराया है, लेकिन यह भी जैसे किसी भी क्वेरी स्ट्रिंग पैरामीटर: /MyApp/MyFile.aspx?foo=bar

  1. Response.Redirect (Request.Url.ToString());

जिसमें न केवल रूप में एक पूर्ण संदर्भ रूप में उपलब्ध कराया अवगत कराया पथ और क्वेरी स्ट्रिंग पैरामीटर है, लेकिन: MyServer/MyApp/MyFile.aspx foo = बार

5

यह करने के लिए एक आम समाधान? Post Redirect Get (PRG) कहा जाता है, जहां ब्राउज़र को किसी भी पोस्ट के बाद तुरंत HTTP प्राप्त पृष्ठ पर रीडायरेक्ट किया जाता है। वेब फॉर्म कार्यान्वयन के लिए Post Redirect Get in asp.net देखें।

1

ऐसा होने से रोकने के कई तरीके हैं। सबसे आसान Response.Redirect एक दूसरे पृष्ठ पर है, जिसे बिना किसी परिणाम के ताज़ा किया जा सकता है।

// process form post 
Response.Redirect("anotherpage.aspx");