2010-03-29 13 views
13

मेरे पास है कहते हैं: अन्यथा मैं जाँच सूची में केवल एक आइटम है तो, अगर वहाँ मैं नियंत्रक कि सूची आइटम हैंडल करने के लिए सीधे रीडायरेक्ट करना चाहते हैंमैं ViewResult या ActionResult फ़ंक्शन के भीतर रीडायरेक्ट कैसे करूं?

public ViewResult List() 
{ 
    IEnumerable<IModel> myList = repository.GetMyList(); 
    if(1 == myList.Count()) 
    { 
     RedirectToAction("Edit", new { id = myList.Single().id }); 
    } 

    return View(myList); 
} 

इस समारोह के अंदर,, मैं सूची दृश्य प्रदर्शित करना चाहते हैं।

मैं यह कैसे कर सकता हूं? बस RedirectToAction जोड़ना काम नहीं करता है - कॉल हिट है लेकिन वीएस बस इसके ऊपर कदम उठाता है और नीचे दृश्य को वापस करने का प्रयास करता है।

उत्तर

21

आपको केवल RedirectToAction विधि को कॉल करने के बजाय return RedirectToAction की आवश्यकता है। साथ ही, आपकी विधि को ActionResult लौटने की आवश्यकता होगी ViewResult और RedirectToRouteResult दोनों के साथ संगत रिटर्न प्रकार है।

public ActionResult List() 
{ 
    IEnumerable<IModel> myList = repository.GetMyList(); 
    if(1 == myList.Count()) 
    { 
     return RedirectToAction("Edit", new { id = myList.Single().id }); 
    } 

    return View(myList); 
} 
+2

फ़ंक्शन रिटर्न प्रकार को एक्शन रिसेट, चीयर्स में बदलने के बाद काम किया! – Pete

+0

पूरे सुबह डेस्क के खिलाफ मेरे सिर को टक्कर दे रहा है यह समझने की कोशिश कर रहा है कि क्यों RedirectToAction() मेरे नियंत्रक में काम नहीं कर रहा था! बहुत आसन! –

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

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