@ViewBag 在当前上下文中不存在

2024-01-17

我知道网上已经有一些解决方案,但在尝试了所有解决方案后,我对自己感到困惑。

我只是想澄清我尝试过的解决方案:

  1. 确保Microsoft.AspNet.Web.Optimization or System.Web.Optimization有没有。我有System.Web.Optimization在参考文件夹中。我尝试安装Microsoft.AspNet.Web.Optimization在 Nuget 中,控制台告诉我它已经存在。我认为这意味着我已经在参考文献中找到了它。
  2. 将命名空间添加到~/Views/Web.config(不是根Web.config)。在我的~/Views/Web.config I have:

    <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.Helpers"/>
      <add namespace="System.Web.Mvc"/>
      <add namespace="System.Web.Mvc.Ajax"/>
      <add namespace="System.Web.Mvc.Html"/>
      <add namespace="System.Web.Optimization"/>
      <add namespace="System.Web.Routing"/>
      <add namespace="System.Web.WebPages"/>
     </namespaces>
    </pages>
    </system.web.webPages.razor>
    

    并在我的根Web.config:

    <system.web>
     <machineKey configSource="Config\MachineKey.config"/>
     <httpRuntime targetFramework="4.5" maxRequestLength="20480"/>
     <globalization culture="en-CA" uiCulture="en-CA"/>
     <customErrors mode="Off"/>
     <compilation debug="true" targetFramework="4.5">
      <assemblies>
       <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, 
        PublicKeyToken=b77a5c561934e089"/>
       <add assembly="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, 
        PublicKeyToken=31BF3856AD364E35"/>
      </assemblies>
     </compilation>
     <pages buffer="true" enableViewState="false">
      <namespaces>
       <add namespace="System.Web.Helpers"/>
       <add namespace="System.Web.Mvc"/>
       <add namespace="System.Web.Mvc.Ajax"/>
       <add namespace="System.Web.Mvc.Html"/>
       <add namespace="System.Web.Optimization"/>
       <add namespace="System.Web.Routing"/>
       <add namespace="System.Web.WebPages"/>
      </namespaces>
     </pages>
    </system.web>
    

    我在网上搜索,其中一个答案告诉我命名空间应该是相同的。我做到了,但对我来说没有任何改变。

  3. 确保目标版本。我的目标框架是4.5。我的MVC版本是5.2.0.0。其实我不明白这个解决方案。我尝试将框架版本更改为4.5.1,而Visual Studio告诉我我的版本实际上是4.5。我想我的目标版本是好的......(实际上我不明白这个解决方案)

  4. Add @using System.Web.Optimization to ~/Views/Shared/_Layout.cshtml。这使得一些事情发生了。我的@Scripts.Render现在可以了但是@ViewBag其下仍然有一条红线。

  5. Delete ComponentModelCache并重新启动 Visual Studio。我正在使用 VS 2015。我尝试过,没有任何反应。

稍后我将更精确地执行这些解决方案,但我只是想知道是否还有其他我错过的解决方案值得尝试。十分感谢你的帮助 !!


经过几个小时的挖掘。我解决了我的问题。我的解决方案1只能删除红线,当我运行本地主机调试时,它给了我 500 错误。

解决方案一:我只是在下面的代码中将版本从 3.0.0.0 更改为 2.0.0.0~/Views/Web.config:

  <configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
  <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" />
  <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" />
</sectionGroup>

当我将所有版本更改为 2.0.0.0 时,红线消失了,但出现了 500 错误。意思是system.web.webPages.razor加载到_Layout.cshtml正确。

据我了解,我的以下设置~/Views/Web.config如果没有加载system.web.webPages.razor版本不正确:

  <system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.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" />
    <add namespace="System.Web.Optimization" />
  </namespaces>
</pages>
</system.web.webPages.razor>

解决方案2:然后,我检查了根目录中的以下部分代码Web.config:

 <connectionStrings configSource="Config\ConnectionStrings-dev.config" />
<appSettings>
  <add key="webpages:Version" value="2.0.0.0" />
  <add key="webpages:Enabled" value="false" />
  <add key="PreserveLoginUrl" value="true" />
  <add key="ClientValidationEnabled" value="true" />
  <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

the webpages:version是 2.0.0.0。我将其更改为 3.0.0.0 以匹配中的版本~/Views/Web.config,重新启动Visual Studio,它工作没有任何问题。

This link https://stackoverflow.com/questions/6405341/what-does-the-webpagesversion-setting-do/27918972是那个帮助我的人。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

@ViewBag 在当前上下文中不存在 的相关文章

  • 是否可以使用 http url 作为 DirectShow .Net 中源过滤器的源位置?

    我正在使用 DirectShow Net 库创建一个过滤器图 该过滤器图通过使用 http 地址和 WM Asf Writer 来流式传输视频 然后 在网页上 我可以使用对象元素在 Windows Media Player 对象中呈现视频源
  • EntityHydrate 任务失败

    我最近安装了 Visual Studio 11 Beta 和 Visual Studio 2010 之后 我无法在 Visual Studio 2010 中构建依赖于 PostSharp 的项目 因此我卸载了 Visual Studio 1
  • strlen() 编译时优化

    前几天我发现你可以找到编译时strlen使用这样的东西 template
  • 在 C++ 代码中转换字符串

    我正在学习 C 并开发一个项目来练习 但现在我想在代码中转换一个变量 字符串 就像这样 用户有一个包含 C 代码的文件 但我希望我的程序读取该文件并插入将其写入代码中 如下所示 include
  • 使用 C# 和 ASP.NET 在电子邮件附件中发送 SQL 报告

    我正在尝试使用 ASP NET 和 C 从 sql reportserver 2008 作为电子邮件附件发送报告 到目前为止我学会了如何获取 PDF 格式的报告 http weblogs asp net srkirkland archive
  • 防止控制台应用程序中的内存工作集最小化?

    我想防止控制台应用程序中的内存工作集最小化 在Windows应用程序中 我可以这样做覆盖 SC MINIMIZE 消息 http support microsoft com kb 293215 en us fr 1 但是 如何在控制台应用程
  • 如何向 Mono.ZeroConf 注册服务?

    我正在尝试测试 ZeroConf 示例http www mono project com Mono Zeroconf http www mono project com Mono Zeroconf 我正在运行 OpenSuse 11 和 M
  • OpenGL:如何检查用户是否支持glGenBuffers()?

    我检查了文档 它说 OpenGL 版本必须至少为 1 5 才能制作glGenBuffers 工作 用户使用的是1 5版本但是函数调用会导致崩溃 这是文档中的错误 还是用户的驱动程序问题 我正在用这个glGenBuffers 对于VBO 我如
  • Unity手游触摸动作不扎实

    我的代码中有一种 错误 我只是找不到它发生的原因以及如何修复它 我是统一的初学者 甚至是统一的手机游戏的初学者 我使用触摸让玩家从一侧移动到另一侧 但问题是我希望玩家在手指从一侧滑动到另一侧时能够平滑移动 但我的代码还会将玩家移动到您点击的
  • 来自嵌入图像的 BitmapSource

    我的目标是在 WPF 窗口上重写 OnRender 方法中绘制图像 someImage png 它是嵌入资源 protected override void OnRender System Windows Media DrawingCont
  • 保证复制省略是否适用于函数参数?

    如果我理解正确的话 从 C 17 开始 这段代码现在要求不进行任何复制 Foo myfunc void return Foo auto foo myfunc no copy 函数参数也是如此吗 下面的代码中的副本会被优化掉吗 Foo myf
  • 如何在多线程应用程序中安全地填充数据并 Refresh() DataGridView?

    我的应用程序有一个 DataGridView 对象和一个 MousePos 类型的列表 MousePos 是一个自定义类 它保存鼠标 X Y 坐标 类型为 Point 和该位置的运行计数 我有一个线程 System Timers Timer
  • 如何从 Boost.PropertyTree 复制子树

    我有一些boost property tree ptree 我需要树来删除一些具有特定标签名称的元素 例如 xml 表示源ptree如下
  • MySQL 连接器 C++ 64 位在 Visual Studio 2012 中从源代码构建

    我正在尝试建立mySQL 连接器 C 从源头在视觉工作室2012为了64 bit建筑学 我知道这取决于一些boost头文件和C 连接器 跑步CMake生成一个项目文件 但该项目文件无法编译 因为有一大堆非常令人困惑的错误 这些错误可能与包含
  • 如何在C#中控制datagridview光标移动

    我希望 datagridview 光标向右移动到下一列 而不是在向单元格输入数据后移动到下一行 我试图通过 dataGridView1 KeyDown 事件捕获键来控制光标 但这并不能阻止光标在将数据输入到单元格后移动到下一行 提前感谢你的
  • C:设置变量范围内所有位的最有效方法

    让我们来int举个例子 int SetBitWithinRange const unsigned from const unsigned to To be implemented SetBitWithinRange应该返回一个int其中所有
  • Streamwriter 覆盖 txt 文件中的文本

    有没有什么方法可以重新打开流写入器而不创建新的写入对象 因为此时 当调用 WriteOdd 时 streamwriter 正在覆盖在它之前调用的 WriteEven public void WriteEven StreamWriter wr
  • winform c# 中的弹出窗口

    我正在开发一个需要弹出窗口的项目 但问题是我还希望能够通过表单设计器在此弹出窗口中添加文本框等 所以基本上我有一个按钮 当您单击它时 它将打开我在表单设计器中设计的另一个窗口 我一直在谷歌搜索 但还没有找到我需要的东西 所以我希望你们能帮助
  • 如何在 C# 中获取 CMD/控制台编码

    我需要指定正确的代码页来使用 zip 库打包文件 正如我所见 我需要指定控制台编码 在我的例子中为 866 C Users User gt mode Status for device CON Lines 300 Columns 130 K
  • 如何为有时异步的操作创建和实现接口

    假设我有数百个类 它们使用 计算 方法实现公共接口 一些类将执行异步 例如读取文件 而实现相同接口的其他类将执行同步代码 例如将两个数字相加 为了维护和性能 对此进行编码的好方法是什么 到目前为止我读到的帖子总是建议将异步 等待方法冒泡给调

随机推荐

  • 物理/逻辑/虚拟内存地址之间的差异

    我对操作系统中的术语物理 逻辑 虚拟地址有点困惑 我使用 Linux open SU SE 这是我的理解 物理地址 当处理器处于系统模式时 处理器使用的地址是物理地址 逻辑地址 当处理器处于用户模式时 使用的地址是逻辑地址 无论如何 通过添
  • 如何重新启动应用程序(React Native 和 Expo)

    我使用 expo 所以我无法访问 android 文件夹 我想第一次重新启动我的应用程序 我怎样才能做到这一点 I use 反应本机重启 https github com avishayil react native restart 但不起
  • 范围规则如何与类一起使用?

    考虑以下 python 代码片段 x 1 class Foo x 2 def foo x 3 class Foo print x prints 3 Foo foo 正如预期的那样 这会打印 3 但是 如果我们在上面的代码片段中添加一行 行为
  • ARM TrustZone 开发

    我想知道是否有人有关于可以使用 ARM TrustZone 的开发板的信息 我有 BeagleBoard XM 它使用 TI 的 OMAP3530 和支持信任区的 Cortex A8 处理器 但是 TI 确认他们已禁用板上的功能 因为它是通
  • 由内而外构建管道代理

    是否可以创建一个函数 以便Proxy from pipes http hackage haskell org package pipes可以从里到外建造吗 由内而外 我的意思是从连接上游和下游连接的函数创建一个代理 最理想 但不可能 的签名
  • 创建适配器以用对象填充 Spinner [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个 Android 应用程序Spinner并想用我自己的对象动态填充它 这些对象确实已经存在List
  • 如何在python中导入sikuli模块?

    我在使 sikuli python 单元测试正常工作时遇到问题 并且很高兴获得一些帮助 我在互联网上进行了广泛的搜索 但没有任何有效的方法 我的Python知识非常有限 我想这没有帮助 我用的是win7 32位 西库里 1 0 rc3 r9
  • 通过 MailChimp API v2.0 将用户添加到兴趣组

    我想通过 MailChimp API 将订阅者添加到兴趣组 这是我的 merge vars array merge vars array GROUPINGS gt array 0 gt array id gt 17385 The group
  • 如何覆盖编辑器服务

    我正在尝试采用自定义方式来实现转到定义 这需要覆盖编辑器服务 尤其是openEditor and findModel 方法 据我所见 我尝试遵循此评论 https github com microsoft monaco editor iss
  • 我不想显示来自 ParsleyJS 的错误消息

    我正在使用 ParsleyJS 库来验证我的表单 但如果字段无效 我只想应用错误类 但不想显示错误消息 如果我使用该房产data show errors false 那么类或错误都不会显示 我用的是这个方法display none在CSS中
  • 如果没有 global.asax,ASP.NET 网页的路由如何工作

    安装了 ASP Net 4 0 的 Web 服务器 部署了 Web Pages 2 0 DLL bin 用 cshtml razor 编写的页面 但路由不起作用 当仅使用网页而不是完整的 MVC 我在 global asax 中定义路由 时
  • 动态选项对话框(使用反射)

    有谁知道一个好的组件 C WinForms 它允许创建一个选项 设置 表单 给定一个带有一堆属性的自定义类 我并不是在寻找闪亮的东西 而是仅仅比属性网格更好的东西 我可以轻松处理视觉部分 但我只是不想浪费时间进行反射来添加和绑定控件 如果它
  • 用于选择所有输入类型的 SCSS/CSS 选择器

    我有一些输入类型有这个 scss 设置 来自框架 textarea input type text input type password input type datetime input type date input type mon
  • Hive INSERT OVERWRITE DIRECTORY 命令输出不由分隔符分隔。为什么?

    我正在加载的文件由 空格 分隔 下面是文件 该文件驻留在 HDFS 中 001 000 001 000 002 001 003 002 004 003 005 004 006 005 007 006 008 007 099 007 1 gt
  • python中的逐元素张量乘法

    我正在尝试使用 python 解决计算代数中的问题 基本上给出了两组 比如说A a b and B e 我需要逐个元素地计算张量积并得到最终的集合C a tensor e b tensor e 含有这些元素的产物 我可以使用带有数字的数组进
  • 如何在gitlab ci中引用作业规则中的变量?

    我需要在 gitlab ci 作业规则中重用变量 include template Workflows Branch Pipelines gitlab ci yml staging variables variables CONFIG NA
  • 为什么 Vite 会创建两个 TypeScript 配置文件:tsconfig.json 和 tsconfig.node.json?

    我正在使用Vite来创建一个新的 React TypeScript 项目 https vitejs dev guide scaffolding your first vite project 创建项目后 根文件夹中有两个 TypeScrip
  • 将字典转换为 url 参数字符串?

    有没有办法将代码中的字典转换为url参数字符串 e g An example list of parameters Dictionary
  • Xcode 8 要求注册设备以创建配置文件

    我正在尝试发布一个应用程序进行测试 而无需在我的 Mac 中连接设备 我创建了一个开发者帐户 在 itunes 中创建了一个应用程序 生成了捆绑包 ID 使用开发者帐户登录到 xcode 生成了经销商证书 当我尝试存档应用程序时 出现错误
  • @ViewBag 在当前上下文中不存在

    我知道网上已经有一些解决方案 但在尝试了所有解决方案后 我对自己感到困惑 我只是想澄清我尝试过的解决方案 确保Microsoft AspNet Web Optimization or System Web Optimization有没有 我