【问题标题】:The name ViewBag does not exist in the current context mvc 4当前上下文 mvc 4 中不存在名称 ViewBag
【发布时间】:2014-11-23 15:54:17
【问题描述】:

我的强类型视图有问题。我尽一切可能,并阅读了很多关于 web.config 相关的内容。我找不到问题。下面是视图。

@model IEnumerable<RoomsForRent.Domain.Entities.Room>

@{
    ViewBag.Title = "Home";
}

My Domain 实体RoomsForRent.Domain.Entities.Room 显示未知元素。 @model 显示的 ViewBag 不存在。从 web.Config 来看我的观点。

<configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.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=4.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>

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

请问有什么我遗漏的吗?我最近删除并从头重新启动项目,但显示相同的错误。我很困惑。

【问题讨论】:

  • 你需要使用RAZOR
  • 嗨 ganesh,我认为问题是我在这里使用困难的剃须刀引擎?我哪里错了,先生?

标签: c# asp.net-mvc asp.net-mvc-4


【解决方案1】:

有同样的问题。参考 dll 文件,项目内部的信息已过时。进行了这些更改。

1) 在主 web.config 内部

<appSettings>
    <add key="webpages:Version" **value="1.0.0.0"**/> --> value="2.0.0.0"
</appSettings>

2) 内部视图 web.config 将所有版本值更改为当前 MVC 版本

<pages
validateRequest="false"
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=4.0.0.0, ....
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=4.0.0.0, ....
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=4.0.0.0, ...>
  <controls>
<add assembly="System.Web.Mvc, Version=4.0.0.0.,... />

此外,为了让项目获得更改,必须重新启动它。重启后一切正常。

希望对你有帮助。

【讨论】:

  • 感谢您的建议,但我已经更换了版本。我安装了新版本 2012,毕竟没有问题。虽然我没有尝试,但我认为你确实有一个好点。
【解决方案2】:

我会先检查./Views/Web.config中是否有Web.config文件

【讨论】:

    猜你喜欢
    • 2023-03-09
    • 1970-01-01
    • 2011-06-25
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多