2011-08-14 19 views
17

Mój problem jest bardzo podobny do tego problemu, z wyjątkiem kopalni znajduje się w podobszarze (prawy przycisk myszy, Utwórz obszar)Nazwa "ViewBag" nie istnieje w bieżącym kontekście - Kiedy w "obszarze"

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

Uruchomiłem narzędzie do aktualizacji i odkryłem plik web.config w tym obszarze, ale nadal dostaję błąd. Moja strona układ jest bardzo prosty:

<!DOCTYPE html> 

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

A moja strona zawartość wygląda następująco pobliżu góry:

@model IEnumerable<ProjectName.Models.OrderViewModel> 

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

<h2>Index</h2> 
+0

A więc ViewData może być dostępny, prawda? –

+0

Jakieś postępy w tej sprawie? Znam ten sam problem. – kmehta

Odpowiedz

11

mam web.config pracy w terenie. Sprawdź, czy Twoje web.config w widoku folderu obszaru ma ów część jak po

<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

skąd otrzymujesz token klucza publicznego "hosta"? –

+1

@MichalPaszkiewicz VS wygenerował go dla mnie. Jeśli chodzi o PKT, odwiedź http://stackoverflow.com/a/1322775/749973 –

+0

niesamowite, dzięki :) –

18

Trzeba mieć świadomość, że podczas tworzenia aplikacji MVC, masz dwie Web.Config plików. Jeden w katalogu głównym projektu i jeden w folderze Widoki. Miałem ten sam problem iz jakiegoś powodu podczas pracy nad moim projektem, przypadkowo zmodyfikowałem ten pod Widokami. Czyszczenie go (tego w folderze Widoki) naprawiło ten błąd. Mam nadzieję, że to pomoże.

enter image description here

+1

Dzięki @mpora, czyszczenie to naprawiło błąd. –

+0

Mój plik Web.config nie został dołączony jako plik rozwiązania. Więc działało dobrze na moim komputerze, ale nie na generowanym przeze mnie wydawnictwie. W tym rozwiązanie naprawione, ty. – talles

3

Sprawdź, aby upewnić się, że plik web.config znajduje się w katalogu „Widoki” znajduje się u podstaw tego katalogu. Przypadkowo przeniosłem go do katalogu "Shared" i odrąbałem sobie włosy na chwilę, dopóki nie wymyśliłem tego ...

Powiązane problemy