Asp.net mvc 名称';ViewBag';不存在于当前上下文中--当位于;面积“;

Asp.net mvc 名称';ViewBag';不存在于当前上下文中--当位于;面积“;,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我的问题与此问题非常相似,只是我的问题位于子区域(右键单击,创建区域) 我运行了升级工具,它确实在该区域发现了web.config,但我仍然得到了错误。我的布局页面非常简单: <!DOCTYPE html> <html> <head> <title>@ViewBag.Title</title> </head> <body> <div> @RenderBody()

我的问题与此问题非常相似,只是我的问题位于子区域(右键单击,创建区域)

我运行了升级工具,它确实在该区域发现了web.config,但我仍然得到了错误。我的布局页面非常简单:

<!DOCTYPE html>

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

@视图包。标题
@RenderBody()
我的内容页在顶部看起来像这样:

@model IEnumerable<ProjectName.Models.OrderViewModel>

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

<h2>Index</h2>
@model IEnumerable
@{
ViewBag.Title=“Index”;
Layout=“~/Areas/Admin/\u AdminLayoutPage.cshtml”;
}
指数

我让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>

您应该知道,在创建MVC应用程序时,您会得到两个
Web.Config
文件。一个在项目根目录下,一个在视图文件夹下。我也有同样的问题,由于某种原因,当我在我的项目中工作时,我不小心修改了视图下的一个。清理它(视图文件夹下的一个)修复了该错误。希望能有帮助


检查以确保位于“视图”目录中的web.config文件位于该目录的根目录下。我不小心把它移到了“共享”目录,然后把我的头发扯了一段时间,直到我弄明白了…

这样ViewData就可以访问了,对吗?这方面有什么进展吗?我遇到了相同的问题。我的Web.config未作为解决方案文件包含。因此,它在我的机器上运行良好,但在我生成的发布上运行不正常。包括在解决方案修复中,ty.您从哪里获得“主机”公钥令牌?@MichalPaszkiewicz VS为我生成了它。关于PKT,请参阅