2011-02-03 8 views
189

ने एक नया एमवीसी 3 प्रोजेक्ट शुरू किया। क्या कोई मुझे बता सकता है किवेबपृष्ठों का कार्य क्या है: एमवीसी 3 में सक्षम। Web.config

<add key="webpages:Enabled" value="false" /> 

मेरी web.config फ़ाइल में करता है?

धन्यवाद सब!

+4

http://blogs.msdn.com/b/marcinon/archive/2011/01/13/mvc-3-project-upgrade-tool.aspx – Lazarus

+0

यह ध्यान रखना उपयोगी होगा कि यह सेट होने पर क्या होता है और आप एक .chstml फ़ाइल ब्राउज़ करने का प्रयास करते हैं। आपको त्रुटि मिलती है "इस प्रकार का पेज परोसा नहीं जाता है।" इस पर घंटों का समय बिताएं:/http://stackoverflow.com/questions/12533605/iis-express-webmatrix-2-wont-serve-cshtml-files-in-webapi-project-vs10-winx/12535137#12535137 –

उत्तर

228

webPages:enabled मूल्य false साथ एक वेब ब्राउज़र से सीधे पहुँचा जा रहा से Views फ़ोल्डर में .cshtml या .vbhtml फ़ाइलों को रोकता है।

+20

असल में यह उन्हें सीधे पहुंचने से रोकता है चाहे वे आवेदन में रहते हैं। विचार फ़ोल्डर में, रूट में, एक अलग फ़ोल्डर में ... कोई फर्क नहीं पड़ता कि आपको एक ही त्रुटि मिलती है। 'आपके द्वारा अनुरोधित पृष्ठ का प्रकार परोसा नहीं जाता है क्योंकि इसे स्पष्ट रूप से प्रतिबंधित किया गया है' –

+5

क्या "ब्लॉकव्यूहैंडलर" कॉन्फ़िगरेशन के लिए यह नहीं है? अंतर क्या है? –

+0

क्षमा करें, मोनो पर एक नैन्सी परियोजना चला रही है और यह सेटिंग nuget के माध्यम से दिखाई दी। तो मुझे आश्चर्य है, क्या यह एक आईआईएस चीज है, और एमवीसी 3 चीज है, या स्टैक का कौन सा हिस्सा वास्तव में इस सेटिंग का उपभोग करता है? –

28

प्रलेखन के अनुसार यह (उदाहरण के लिए www.myweb.com/views/home/index.cshtml) से सीधे एक्सेस किए जा रहे .cshtml और .vbhtml फ़ाइलों को रोकता है

+1

I खोज रहे हैं, लेकिन एक संदर्भ नहीं मिला जहां यह समझाया गया है। मैं विशेष रूप से जानना चाहता हूं कि ' 'पूरी तरह से। क्या डिफ़ॉल्ट 'सत्य' या 'झूठा' है? – StarNamer

+1

इसलिए मैंने स्रोत कोड में खोला है और डिफ़ॉल्ट मान वास्तव में 'शून्य' है - जिसका अर्थ यह है कि यदि एप्लिकेशन में कोई * * .cshtml' या '* .vbhtml' फ़ाइलें हैं तो वेबपृष्ठ सक्षम हैं। फ़ाइलों के लिए जांच या तो इस मान को 'सत्य' या 'झूठी' पर सेट करके अक्षम किया जा सकता है। आप अपने लिए यहां देख सकते हैं [यहां] (https://aspnetwebstack.codeplex.com/SourceControl/latest#src/System.Web.WebPages.Deployment/WebPagesDeployment.cs)। –

1

रेजर पृष्ठों को सेवा देने की अनुमति देने के लिए, <add key="webpages:Enabled" value="true" /> सेट करने के लिए पर्याप्त नहीं है। आपको NuGet का उपयोग करके Microsoft.AspNet.WebPages पैकेज को packages.config में जोड़ने की भी आवश्यकता है।

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