मान लें कि मेरे पास एक नियंत्रक कार्रवाई है जो उपयोगकर्ता की खरीदारी टोकरी से किसी आइटम को हटा देती है। यह नियंत्रक कार्रवाई url ~/delete/{id} पर एक पोस्ट करके ट्रिगर की जाती है। अगर मेरे पास मेरे एप्लिकेशन पर कई पेज हैं जो इस यूआरएल पर पोस्ट करेंगे, तो मैं उस पेज पर वापस रीडायरेक्ट करने के लिए कंट्रोलर एक्शन कैसे बना सकता हूं?आप एएसपी.नेट एमवीसी में कॉलिंग पेज पर रीडायरेक्ट कैसे करते हैं?
उत्तर
मैंने कभी कोशिश नहीं की है लेकिन आप यह जानने के लिए रेफरर हेडर का उपयोग कर सकते हैं कि पोस्ट कहां से मिलता है या मार्ग से मेल खाता है।
आपको पोस्टिंग पेज से एक RedirectToUrl पैरामीटर प्रदान करना चाहिए।
रेफरर हेडर पर निर्भर करना एक अच्छा अभ्यास नहीं है। पोस्टिंग दृश्य या आंशिक दृश्य पर
public ActionResult Delete(int id, string RedirectToUrl)
{
// check if RedirectToUrl is null or empty and redirect accordingly
}
आप कई मायनों में पैरामीटर प्रदान कर सकते हैं:
<%= Html.Hidden("RedirecToUrl","/my/lovely/url") %>
या
<form action="/item/delete/22?RedirectToUrl=/my/lovely/url">
मैं
इसके बजाय, कुछ इस तरह करते हैं पहला विकल्प पसंद करेंगे।
पहली चीज जो मैं करता हूं वह Ajax.ActionLink का उपयोग करती है, फिर यदि उपयोगकर्ता के पास जावास्क्रिप्ट चालू है, तो आप वास्तव में पृष्ठ को कभी नहीं छोड़ेंगे। यह सबसे अच्छा समाधान है। यदि आप एक लिंक नहीं चाहते हैं, तो आप एक अजाक्स फॉर्म भी प्राप्त कर सकते हैं। इनमें से कोई भी DELETE या POST विधि का उपयोग कर सकता है।
जहां जावास्क्रिप्ट बंद है, को संभालने के लिए, जब आप नियंत्रक में पता लगाते हैं कि पोस्ट अजाक्स (Request.IsAjaxRequest गलत है) के साथ नहीं किया गया था, तो आप Request.UrlReferer प्रॉपर्टी को प्राप्त करने के लिए देख सकते हैं रेफरिंग पेज का यूआरएल। यदि यह शून्य नहीं है, तो आप इस पृष्ठ पर वापस जाने के लिए एक RedirectResult का उपयोग कर सकते हैं। यदि यह शून्य है, तो डिफ़ॉल्ट लैंडिंग पृष्ठ चुनें - शायद "आपका आइटम हटा दिया गया है, खरीदारी जारी रखने के लिए यहां क्लिक करें।" यह बाद में शायद ही कभी शायद ही कभी हिट हो जाएगा।
बस यूआरएल रेफरर [एसआईसी] हेडर का उपयोग करें।
var requestFrom = Request.UrlReferrer
आपको कम से प्रलेखन पा सकते हैं: http://msdn.microsoft.com/en-us/library/system.web.httprequest.urlreferrer.aspx
केवल समय यह काम नहीं होगा जब पेज सीधे अनुरोध किया जाता है, लेकिन इस मामले में आप वैसे भी पर रीडायरेक्ट करने के लिए किसी भी जगह नहीं होती है ।
AJAX का उपयोग करके एकमात्र चीज एसिंक करने का विकल्प भी है, ताकि आपकी हटाई गई क्रिया केवल वही करे जो इसका वर्णन करती है और हटाने के अपने उद्देश्य के बाहर कुछ करने के लिए ज़िम्मेदार नहीं है।
यदि आप एमवीसी पैटर्न को लागू करने के लिए डब्ल्यूसीएसएफ (वेब क्लाइंट सॉफ्टवेयर फैक्टरी) का उपयोग कर रहे हैं, तो आप सभी नेविगेशन करने के लिए पेजफ्लो का उपयोग कर सकते हैं।
उदाहरण के लिए: -
PageFlow.Next(); या पेजफ्लो।पिछला();
है यही कारण है कि मैं क्या कर:
public ActionResult ResendActivationEmail()
{
// Do other things here
return new RedirectResult(Request.UrlReferrer.AbsoluteUri);
}
- 1. आप नियंत्रक से एएसपी.नेट एमवीसी पेज कैसे बंद करते हैं?
- 2. एएसपीनेट कॉलिंग पेज पर रीडायरेक्ट
- 3. आप एएसपी.नेट एमवीसी में पेजिंग कैसे कार्यान्वित करते हैं?
- 4. आप Node.js में HTTP रीडायरेक्ट का पालन कैसे करते हैं?
- 5. एएसपी.नेट एमवीसी - मार्ग पर रीडायरेक्ट करने से रीडायरेक्ट लूप
- 6. एएसपी.नेट एमवीसी के साथ सत्र पृष्ठ पर रीडायरेक्ट होने पर
- 7. आप HTTPS को HTTP पर कैसे रीडायरेक्ट करते हैं?
- 8. एएसपी.नेट एमवीसी मास्टर पेज
- 9. आप किसी वेब पेज में .epub कैसे एम्बेड करते हैं?
- 10. एएसपी.नेट एमवीसी 4 एप्लीकेशन कॉलिंग रिमोट वेबएपीआई
- 11. आप एएसपी.नेट एमवीसी में बहु-भाग फ़ॉर्म कैसे संभालते हैं?
- 12. एएसपी.नेट एमवीसी: रिटर्न रीडायरेक्ट और व्यूडाटा
- 13. आप एएसपी.NET एमवीसी
- 14. एएसपी.नेट एमवीसी को वेबफॉर्म पेज
- 15. एएसपी.नेट एमवीसी: एमवीसी में पृष्ठों/कार्यों पर रीडायरेक्ट करने का सही तरीका क्या है?
- 16. क्या एएसपी.नेट एमवीसी में नेस्टेड मास्टर पेज हैं?
- 17. एएसपी.नेट एमवीसी पेज पर प्रमाणीकरण त्रुटि संदेश कैसे प्रदर्शित करें?
- 18. आप एएसपी.नेट एमवीसी में एचटीएमएल हेल्पर टेक्स्टबॉक्स की चौड़ाई कैसे सेट करते हैं?
- 19. आप एमवीसी पैटर्न में यूएक्स कक्षा कैसे शामिल करते हैं?
- 20. एएसपी.नेट एमवीसी 3 में कस्टम 404 त्रुटि पेज कैसे बनाएं?
- 21. एएसपी.नेट एमवीसी में पेज के मेटा टैग कैसे पास करें?
- 22. एएसपी.नेट एमवीसी
- 23. एएसपी.नेट एमवीसी रिटर्न रीडायरेक्ट टू एक्शन
- 24. होम पेज पर रीडायरेक्ट कैसे करें
- 25. एएसपी.नेट पेज पर कई रूप
- 26. एएसपी.नेट एमवीसी
- 27. वर्डप्रेस में विभिन्न व्यवस्थापक पेज पर रीडायरेक्ट कैसे करें?
- 28. एएसपी.नेट एमवीसी 4 में एक नया पेज कैसे जोड़ें?
- 29. आप आरएफसी पर कैसे टिप्पणी करते हैं?
- 30. एएसपी.नेट एमवीसी 3 - किसी अन्य क्रिया पर रीडायरेक्ट
अधिकांश आँकड़े सिस्टम संदर्भित हेडर पर भरोसा करते हैं पता करने के लिए जहां अनुरोध से आता है। यह भरोसेमंद नहीं है, लेकिन अगर मुझे किसी वेबसाइट में प्रत्येक लिंक को बदलने और रीफर करने के लिए रेफरर हेडर में निर्भर करने के बीच चयन करना है, तो मैं आखिरी के लिए जाउंगा, या कुछ AJAX एक्शनलिंक करूँगा क्योंकि tvanfosson सुझाव देता है। –
हाँ यह हमेशा एक व्यापार है। किसी वेबसाइट में प्रत्येक लिंक को बदलना मेरे लिए खराब डिजाइन की तरह लगता है। यदि आप अपने नियंत्रकों का परीक्षण कर रहे हैं तो रीडायरेक्ट पैरामीटर परीक्षण करना भी आसान होगा। –
हम यही करते हैं, लेकिन मैं दृढ़ता से अनुशंसित यूआरएल को "sanitizing" सलाह देता हूं, और अगर यह आपकी साइट का हिस्सा नहीं है तो इसे अनदेखा कर रहा है। यह रेफरर हेडर पर भी लागू होता है। –