2013-11-04 11 views
20

के साथ रेंडरएक्शन मैं एमवीसी 5 से शुरू कर रहा हूं और MVC5 Getting Started से पहली परियोजना बनाई है।एमवीसी 5 एचटीएमएल। विभिन्न नियंत्रक

अब के रूप में

[ChildActionOnly] 
public ActionResult PriceRange() 
{ 
    var maxprice = db.Movies.Max(m => m.Price); 
    var minprice = db.Movies.Min(m => m.Price); 
    ViewBag.MaxPrice = maxprice; 
    ViewBag.MinPrice = minprice; 
    return PartialView(); 
} 

नीचे यह सेट है कि बाद में देखने पर प्रदर्शित किए जाते हैं ViewBag में फिल्म संग्रह से न्यूनतम और अधिकतम मूल्य आंशिक प्रतिपादन के साथ की कोशिश कर रहा है और MoviesController में एक विधि गयी। मैं इसे विभिन्न विचारों पर प्रस्तुत करने की कोशिश कर रहा हूं।

सबसे पहले मैं

@{Html.RenderAction("PriceRange");} 

यह अच्छी तरह से वहाँ काम करता है और परिणाम सही ढंग से प्रदर्शित क्योंकि यह MoviesController, एक ही कक्षा जहां विधि PriceRange परिभाषित उपयोग कर रहा है नीचे के रूप में Views/Movies/Index.cshtml पर यह रेंडर करने के लिए कोशिश की।

तो मैं (इस दृष्टिकोण HelloWorldController उपयोग कर रहा है) Views/Hello/Index.cshtml पर यह रेंडर करने के लिए करने की कोशिश की कोड निम्नलिखित (तब नियंत्रक नाम पहले कार्रवाई का नाम गुजर)

@{Html.RenderAction("PriceRange", "MoviesController");} 

यहाँ यह रन-टाइम त्रुटि

दे रहा है साथ

पथ '/ हैलोवर्ल्ड/इंडेक्स' के लिए नियंत्रक आईकंट्रोलर को नहीं मिला या लागू नहीं किया गया था।

यहाँ Index.cshtml

@{ 
    ViewBag.Title = "Movie List"; 
} 
<h2>My Movie List</h2> 
<p>Hello from our view template</p> 
@{Html.RenderAction("PriceRange", "MoviesController");} 

मैंने पाया गूगल के माध्यम से कुछ उदाहरण हैं, वे RenderAction सहायक बुला रहे हैं उसी तरह, पहले तो कार्रवाई का नाम गुजर नियंत्रक नाम दृश्य/हैलो से पूरा कोड है /।

मुझे समझ में नहीं आया कि मैं क्या गलत कर रहा हूं। क्या कोई बता सकता है?

उत्तर

47

यह हो सकता है कि आप नियंत्रक नाम पर "नियंत्रक" पोस्टफिक्स जोड़ रहे हों, जिसकी आवश्यकता नहीं है।

प्रयास करें:

@{Html.RenderAction("PriceRange", "Movies");} 
+3

@ एचटीएमएल। क्रिया घुंघराले ब्रेसिज़ के बिना करता है। – Jordan

1

नियंत्रक नाम होने के लिए "फिल्म" और नहीं "MoviesController" की जरूरत है। क्योंकि अब मुझे विश्वास है कि यह "MoviesControllerController" नामक नियंत्रक की तलाश में है।

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