2013-07-19 11 views
6

पर एएसपीएनटी एमवीसी को एकीकृत करने के लिए कैसे करें जैसा कि मैंने शीर्षक में उल्लेख किया है, मेरे पास एक विशाल वेब सिट परियोजना है, और मैं इसे एमवीसीआईटीओ जोड़ना चाहता हूं।वेब साइट प्रोजेक्ट

मैंने इसके बारे में कुछ ट्यूटोरियल का पालन किया है, लेकिन वे सभी एक वेब अनुप्रयोग प्रोजेक्ट में एमवीसी को एकीकृत करने के बारे में हैं।

http://www.hanselman.com/blog/IntegratingASPNETMVC3IntoExistingUpgradedASPNET4WebFormsApplications.aspx

लेकिन मैं एक WEP एप्लिकेशन प्रोजेक्ट नहीं है।

क्या मेरी समस्या के लिए भी कोई रास्ता है?

+0

वेबसाइट को एमवीसी प्रोजेक्ट में जोड़ नहीं सकता है? –

+0

@ पीकेकेजी मेरी पुरानी परियोजना – brtb

+0

की गड़बड़ी के कारण असंभव है कृपया इसे आज़माएं, इससे मदद मिल सकती है। http://jefferytay.wordpress.com/2012/04/10/getting-asp-net-mvc-3-to-work-with-asp-net-website-project/ – Grievoushead

उत्तर

9

एमएससी को एएसपी.नेट वेब अनुप्रयोगों के साथ काम करने के तरीके पर कई ब्लॉग पोस्ट हैं। हालांकि अभी भी परिदृश्य हैं जहां हम वेब अनुप्रयोग परियोजनाओं के बजाय सामान्य एएसपी.नेट वेबसाइट परियोजनाओं का उपयोग कर रहे हैं।

नीचे एक asp.net वेबसाइट परियोजना के साथ MVC 3 सक्षम करने के लिए

1. स्थापित ASP.NET MVC 3

2. संशोधित web.config कदम हैं

ओपन विजुअल स्टूडियो में web.config ऊपर और अनुभाग

enter image description here

के अंदर निम्न पंक्तियां जोड़ें

3. संशोधित

Global.asax इसके बाद आप कोड में जोड़ने के लिए MVC वैश्विक अंदर से चलाता है के लिए की आवश्यकता होगी।asax (इसे बनाते हैं यह मौजूद नहीं है)

<% @ आवेदन भाषा = "सी #"% के बाद निम्नलिखित लाइनों जोड़ें>

enter image description here

निम्नलिखित जोड़े

enter image description here

के बाद

निम्नलिखित अंदर जोड़ें application_start

enter image description here

इस बिंदु पर, अपने Global.asax

enter image description here

4. नियंत्रक

बनाना की तरह दिखना चाहिए क्योंकि यह एक वेबसाइट परियोजना है, संकलन कार्यावधि में है, तो आप मुख्य साइट

पर सामान्य नियंत्रक फ़ोल्डर की बजाय App_Code फ़ोल्डर के अंदर अपने नियंत्रकों को बनाना होगा नोट करें कि आपका नियंत्रण एर क्लास को नियंत्रक कीवर्ड के साथ समाप्त करने की आवश्यकता है। उदाहरण के लिए, नियंत्रक = "होम" के साथ, नियंत्रक के लिए वर्गनाम को होमकंट्रोलर

अपना पहला नियंत्रक जोड़ने के लिए, App_Code फ़ोल्डर पर राइट क्लिक करें और फ़ाइल नाम के साथ एक नई श्रेणी बनाएं HomeController.cs

HomeController.cs में निम्न कोड पेस्ट करें साइट (सब कुछ की जगह)

enter image description here

5. टेस्ट

अब जब आपने रूटिंग उत्पन्न की है और नियंत्रक बनाया है, तो स्थानीयहोस्ट/होम पर ब्राउज़ करें। आपको "हैलो वर्ल्ड"

उपरोक्त सामग्री here से ली गई है। संदर्भ सीधे जोड़ नहीं सका क्योंकि लिंक टूटा जा सकता है।

आशा है कि यह आपको

+0

इस तरह के कार्यान्वयन के लिए पैरामीटर कैसे पास करेंगे? मैंने इसे सफलतापूर्वक कार्यान्वित किया है, लेकिन अगर मैं अपने नियंत्रक को पैरामीटर पास करना चाहता हूं तो यह HTTP 404 त्रुटि प्राप्त करता है (यह एक स्ट्रिंग स्वीकार करता है) – user3036342

+0

पोस्ट काम करता है, मैं जीईटी के बारे में बात कर रहा हूं (इसलिए यदि मैं यूआरएल में पैरामीटर टाइप करता हूं) – user3036342

+0

आपको उस पाठ को मैन्युअल रूप से अपने web.config में जोड़ने की ज़रूरत नहीं है। आप बस अपनी वेबसाइट पर राइट क्लिक कर सकते हैं और >> संदर्भ जोड़ें और डीएलएस के लिए ब्राउज़ कर सकते हैं। –

1

मुझे डर है कि आपको वेब साइट को वेब एप्लिकेशन में पहले कनवर्ट करना होगा। स्पष्टीकरण के लिए this link देखें कि यह कैसे करें। इसमें कुछ प्रयास हो सकते हैं, लेकिन मुझे लगता है कि वेब एप्लिकेशन प्रारूप के साथ काम करना बहुत आसान है, इसलिए यह निश्चित रूप से प्रयास के लायक है।

+0

मुझे यह – brtb

3

संपूर्ण वेब साइट को वेब ऐप (डब्ल्यूएपी) में कनवर्ट करना दर्दनाक होने की संभावना है, इसलिए मैं इसका सुझाव नहीं देता हूं। आप एक वेब साइट प्रोजेक्ट (जो काम कर सकते हैं) में एमवीसी काम करने के @Grievoushead से दूसरे सुझाव का प्रयास कर सकते हैं, लेकिन मैं एक वैकल्पिक सुझाव दूंगा।

वेब साइट और एमवीसी डब्ल्यूएपी को 'विलय' करने की कोशिश करने के बजाय, उन्हें अधिकतर अलग रखने की कोशिश करें, लेकिन एक ही फ़ोल्डर साझा करना। आप ऐसा कुछ कर सकते हैं: - एक अलग फ़ोल्डर में एक एमवीसी प्रोजेक्ट बनाकर शुरू करें - सभी फ़ाइलों को अपनी वेबसाइट पर कॉपी करें। आपको web.config और global.asax जैसे कूप फ़ाइलों को मर्ज करने की आवश्यकता हो सकती है। - फिर यह आप अपने एमवीसी कोड पर काम करना चाहते हैं, तो आप वीएस में csproj खोलें। लेकिन अगर आप अपने मूल कोड पर काम करना चाहते हैं, तो बस एक वेब साइट के रूप में फ़ोल्डर खोलें।

थोड़ा असामान्य, लेकिन सटीक स्थिति के आधार पर, यह एक अच्छा दृष्टिकोण हो सकता है।

+0

नहीं करना है और परियोजनाओं के बीच सत्र, कैश इत्यादि साझा किया जा सकता है? – Rahatur

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