asp.net-mvc - mvc5 - www asp net mvc mvc4
El nombre ''ViewBag'' no existe en el contexto actual, cuando se encuentra en un "Área" (3)
Mi problema es muy similar a este problema, excepto que el mío está en una sub-Área (clic derecho, Crear área)
El nombre ''ViewBag'' no existe en el contexto actual
Ejecuté la herramienta de actualización y descubrí el archivo web.config en el área, pero aún así recibo el error. Mi página de diseño es muy simple:
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
</head>
<body>
<div>
@RenderBody()
</div>
</body>
</html>
Y mi página de contenido se ve así en la parte superior:
@model IEnumerable<ProjectName.Models.OrderViewModel>
@{
ViewBag.Title = "Index";
Layout = "~/Areas/Admin/_AdminLayoutPage.cshtml";
}
<h2>Index</h2>
Debe tener en cuenta que al crear una aplicación MVC, obtiene dos archivos Web.Config
. Uno en la raíz del proyecto y otro en la carpeta Vistas. Tuve el mismo problema y, por alguna razón, cuando estaba trabajando en mi proyecto, modifiqué accidentalmente el de las Vistas. Al limpiarlo (el que está debajo de la carpeta Vistas) se corrigió ese error. Espero eso ayude.
Tengo web.config trabajando en un área. Vea si su web.config en su carpeta de Vista del área tiene una parte como la siguiente
<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>
Verifique para asegurarse de que el archivo web.config ubicado en su directorio "Vistas" esté ubicado en la RAÍZ de ese directorio. Lo moví accidentalmente al directorio "Compartido" y me arranqué el cabello por un tiempo hasta que descubrí esto ...