2011-05-19 8 views
77

मैं एक एएसपी.नेट एमवीसी 3 अनुप्रयोग विकसित कर रहा हूं, जिनके सामग्री पृष्ठों में लेआउट तत्वों का एक सामान्य पैटर्न है। हालांकि, क्योंकि लॉगिन पृष्ठ इस लेआउट का पालन नहीं करता है, इसलिए मैं इस लेआउट को \Views\Shared\_Layout.cshtml में नहीं रख सकता।कॉलिंग @ एचटीएमएल। पार्टिकल एक अलग नियंत्रक से संबंधित आंशिक दृश्य प्रदर्शित करने के लिए

तो मैं \Views\Shared\_Content.cshtml कहता हूं, और इसे सामग्री दृश्यों से कॉल करता हूं ... लेकिन दुर्भाग्यवश उन विचारों को विभिन्न नियंत्रकों से संबंधित है।

क्या कोई अलग नियंत्रक से संबंधित दृश्य के लिए @Html.Partial को आमंत्रित करने का कोई तरीका है?

+0

क्या कोई मेरे बेवकूफ सवालों को कम करने का साहस कर सकता है? मैं इसे खुद नहीं कर सकता। – pyon

+0

आपको अपना खुद का प्रश्न बंद करने के लिए वोट करने में सक्षम होना चाहिए। https://meta.stackexchange.com/questions/163375/vote-to-close-own-question –

उत्तर

139

यह कोई समस्या नहीं है।

@Html.Partial("../Controller/View", model) 

या

@Html.Partial("~/Views/Controller/View.cshtml", model) 

चाल करना चाहिए।

आप (अन्य) नियंत्रक के माध्यम से पारित करने के लिए चाहते हैं, तो आप उपयोग कर सकते हैं:

@Html.Action("action", "controller", parameters) 

या अन्य भार के

+8

@ एचटीएमएल। पार्टियल ("~ व्यू/कंट्रोलर/व्यू", मॉडल) क्यों .cshtml एक्सटेंशन की आवश्यकता है? अन्यथा, यह कहता है कि नहीं मिला। – ashes999

+2

रिशेर्पर 6.1 झंडे '@ एचटीएमएल। पार्टियल (" ../ नियंत्रक/देखें ", मॉडल) 'एक त्रुटि के रूप में, लेकिन' @ एचटीएमएल। पार्टियल ("~/व्यू/कंट्रोलर/व्यू सीएचटीएमएल", मॉडल) '। दोनों रनटाइम पर ठीक काम करते हैं। –

+0

@GVs अगर विंडोज़ निर्देशिका के लिए \ का उपयोग कर रहा है तो आप क्यों उपयोग करते हैं /। किसी भी कारण – Adrian

6

रूप GvS कहा के किसी भी है, लेकिन मैं भी यह उपयोगी strongly typed views उपयोग करने के लिए लगता है ताकि मैं कुछ

@Html.Partial(MVC.Student.Index(), model) 

जादू तारों के बिना कुछ लिख सकता है।

+11

रिशेर्पर के साथ, वे जादू तारों की तरह महसूस नहीं करते :) –

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