【问题标题】:@model,ViewBag does not exist in the current context@model,ViewBag 在当前上下文中不存在
【发布时间】:2014-11-25 09:46:18
【问题描述】:

拜托,我的视图有问题,我正在使用 VS 2013 Express 并构建 mv4 网络应用程序。第一次,视图似乎不认识剃须刀引擎。我创建了一个强类型视图。

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

@{
    ViewBag.Title = "Home";
}

然而,模型和 viewbag 无法识别。令我惊讶的是,甚至我的实体也显示未知元素。我很困惑。我阅读了有关 web.config 问题的信息 > 我检查并尝试了一切,但我的似乎井然有序,没有任何帮助。下面是我的视图文件夹中的 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:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
  </appSettings>

  <system.web>
    <httpHandlers>
      <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
    </httpHandlers>

如有任何帮助,我们将不胜感激。

【问题讨论】:

  • 不幸的是,我发现的唯一可靠的解决方案是创建一个新项目,然后将所有代码从旧项目移到该项目中。似乎是VS2013中的一些错误。你可以坚持一个更好的答案,也许你会很幸运,但如果你想继续前进并重新开始工作,这会成功。
  • 好吧,我通过卸载 VS2013 并安装 2012 express 来修复它。 2012 工作正常。谢谢先生。

标签: asp.net-mvc-4 razor


【解决方案1】:

如果您在 VS express 2013 中遇到此问题。不要浪费时间,卸载 20134 并安装 2012。使用新安装的 2012 打开您的项目,一切顺利。 2013 似乎有一个错误。希望它可以帮助一些人。

【讨论】:

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