2011-08-14 9 views
17

मेरे समस्या, बहुत ही इस समस्या के समान है, सिवाय मेरा (राइट क्लिक करें, क्षेत्र बनाएं)नाम 'ViewBag' वर्तमान संदर्भ में मौजूद नहीं है - जब एक "क्षेत्र" में

एक उप-क्षेत्र में है

The name 'ViewBag' does not exist in the current context

मैंने अपग्रेड टूल चलाया और इसने क्षेत्र में web.config खोजा, लेकिन मुझे अभी भी त्रुटि मिल गई है। मेरे लेआउट पेज बहुत सरल है:

<!DOCTYPE html> 

<html> 
<head> 
    <title>@ViewBag.Title</title> 
</head> 
<body> 
    <div> 
     @RenderBody() 
    </div> 
</body> 
</html> 

और मेरी सामग्री पृष्ठ शीर्ष के निकट इस तरह दिखता है:

@model IEnumerable<ProjectName.Models.OrderViewModel> 

@{ 
    ViewBag.Title = "Index"; 
    Layout = "~/Areas/Admin/_AdminLayoutPage.cshtml"; 
} 

<h2>Index</h2> 
+0

तो व्यूडेटा पहुंच योग्य हो सकता है, है ना? –

+0

इस पर कोई प्रगति? मुझे एक ही समस्या का सामना करना पड़ रहा है। – kmehta

उत्तर

11

मैं web.config एक क्षेत्र में काम कर रहे है। देखने के लिए कि क्षेत्र के अपने दृश्य फ़ोल्डर में अपने web.config

<configSections> 
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
    <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
</sectionGroup> 
</configSections> 

<system.web.webPages.razor> 
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
<pages pageBaseType="System.Web.Mvc.WebViewPage"> 
    <namespaces> 
    <add namespace="System.Web.Mvc" /> 
    <add namespace="System.Web.Mvc.Ajax" /> 
    <add namespace="System.Web.Mvc.Html" /> 
    <add namespace="System.Web.Routing" /> 
    </namespaces> 
</pages> 
</system.web.webPages.razor> 
+0

आपको "मेजबान" सार्वजनिक कुंजी टोकन कहां से मिलता है? –

+1

@MichalPaszkiewicz वीएस ने इसे मेरे लिए उत्पन्न किया। पीकेटी के संबंध में, http://stackoverflow.com/a/1322775/749973 –

+0

भयानक देखें, धन्यवाद :) –

18

निम्नलिखित आप जानते हैं कि जब एक MVC आवेदन बनाते समय, आप दो Web.Config फ़ाइलें प्राप्त होना चाहिए की तरह भाग है। परियोजना की जड़ में और एक दृश्य फ़ोल्डर के तहत एक। मेरे पास एक ही समस्या थी और कुछ कारणों से जब मैं अपने प्रोजेक्ट पर काम कर रहा था, मैंने गलती से दृश्यों में से एक को संशोधित किया। इसे साफ करना (दृश्य फ़ोल्डर के तहत एक) ने उस त्रुटि को ठीक किया। आशा करता हूँ की ये काम करेगा।

enter image description here

+1

धन्यवाद @ mpora, सफाई करने से यह त्रुटि ठीक हो गई। –

+0

मेरा Web.config को समाधान फ़ाइल के रूप में शामिल नहीं किया गया था। तो यह मेरी मशीन पर ठीक चल रहा था लेकिन मेरे जेनरेट किए गए प्रकाशन पर नहीं। समाधान तय करने सहित, ty। – talles

3

चेक करें कि web.config अपने "दृश्य" निर्देशिका में स्थित फ़ाइल उस निर्देशिका की जड़ में स्थित है बनाने के लिए। मैंने गलती से इसे "साझा" निर्देशिका में स्थानांतरित कर दिया और मेरे बालों को थोड़ी देर तक बाहर निकाला जब तक कि मैंने यह पता नहीं लगाया ...

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