2012-01-08 11 views
11

मेरे पास मेरे नियंत्रक में दो क्रिया विधियां हैं I मैं दोनों एक दृश्य वापस करना चाहता हूँ।एमवीसी 3 दो नियंत्रक क्रियाएं एक दृश्य वापस कर सकती हैं?

कारण यह है कि मेरे पास मेरे विचार में सशर्त जांच है जो जांचता है कि कोई संपत्ति शून्य है या नहीं, तो कोई div नहीं दिखाएं और यदि कोई उपयोगकर्ता लोड बटन पर क्लिक करता है तो उसी दृश्य को संपत्ति सेट करके वापस लौटाया जाना चाहिए मॉडल और फिर div दिखाया गया है।

यह तर्क कम से कम 15 बार आवश्यक है और मैं मॉडल को वापस करने के लिए अलग-अलग कार्रवाइयां बनाना चाहता हूं लेकिन एक दृश्य। क्या यह संभव है? आप SharedView नाम के एक दृश्य है, तो यह है कि नियंत्रक में सभी कार्यों उस तक पहुँच सकते

public ActionResult SomeAction() 
{ 
    // do something 
    return View("SharedView", viewModel); 
} 

,:

+0

उपयोग कर सकते हैं अगर आप एक ही दृश्य वापस करना चाहते प्रयोग किया जाता है विभिन्न व्यूमोडल्स के साथ, मैं एक्शन को एक पैरामीटर पास करना पसंद करता हूं जो मुझे अलग दृश्य बनाने के बजाय अलग दृश्य बनाने के बजाय दिए गए दृश्य को वापस करने की अनुमति देता है ... –

उत्तर

17

तुम सिर्फ अपनी वापसी बयान में उस दृश्य का नाम राज्य के लिए की है। यदि आप इसे अन्य नियंत्रकों पर क्रियाओं के बीच साझा करना चाहते हैं, तो आप साझा फ़ोल्डर दृश्य या दृश्य नाम के साथ पूर्ण पथ का उपयोग कर सकते हैं।

+1

यहां इसके लिए एक msdn संदर्भ पृष्ठ है, [देखें विधि] (http: //msdn.microsoft.c ओम/एन-यूएस/लाइब्रेरी/डीडी 460310% 28VS.98% 29.aspx) – Roman

1
return View("viewName", data); 


पहले पैरामीटर ढांचा है जहाँ से प्रस्तुत करने के लिए देखने बताता है और 2 पैरामीटर उस दृश्य का डेटा उपलब्ध कराने के लिए
दूसरी बात आप

return RedirectToAction("actionName",new{data=something}); 
+0

रिक सावधानीपूर्वक प्रश्न पढ़ें। इसकी नियंत्रक कार्रवाई। यानी एक ही नियंत्रक में दो क्रिया विधियां – RollerCosta

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