2009-05-28 18 views
5

मैंने एक बेस कंट्रोलर बनाया है जो ओवरराइड करता है एक कुकी शुरू करें और सेट करें और डीबी में कुछ डेटा बचाता है। यहां मुझे यह जांचने की भी आवश्यकता है कि कुकी सेट है या नहीं और यदि यह किसी त्रुटि पृष्ठ पर रीडायरेक्ट नहीं है।एएसपी.NET एक बेस कंट्रोलर में रीडायरेक्टिंग

इस साइट के उपयोगकर्ता किसी अन्य साइट पर स्टोर लोकेटर से आ रहे हैं जो मुझे स्टोर आईडी पास करता है और मैंने इसे कुकी में सेट किया है। मुझे यह सुनिश्चित करने की ज़रूरत है कि एक आईडी संग्रहीत की जाती है और यदि स्टोर को चुनने के लिए उन्हें किसी त्रुटि या वापस पास नहीं किया जाता है।

मुझे बेस नियंत्रक में इस त्रुटि को पुनर्निर्देशित करने या दिखाने में समस्या हो रही है। मैंने नियंत्रक के निर्माता भी कोशिश की। नीचे कोड है मैं ओवरराइड शुरू करने में कोशिश कर रहा हूं, लेकिन इस बिंदु पर नियंत्रक कॉन्टेक्स्ट शून्य है?

 if (StoreID == null) 
     { 
      View("StoreError").ExecuteResult(ControllerContext); 
      return; 
     } 
+0

बहुत स्पष्ट विवरण: http://stackoverflow.com/questions/4793452/mvc-redirect-inside-the-constructor –

उत्तर

6

निम्नलिखित चाल ...

requestContext.HttpContext.Response.Redirect("/home/storeError"); 
2

उचित तरीके से मुझे लगता है कि

Return RedirectToAction("StoreError","Home"); 

नहीं होगा किया?

4

मैं एक ऐसी क्रिया बनाने की अनुशंसा करता हूं जो कुकी को ऑनएक्शन एक्सेलिंग विधि में जांचें और उचित क्रिया विधि पर रीडायरेक्ट करे।

साफ स्पष्टीकरण: @Darin से MVC - Redirect inside the Constructor

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