gpt4 book ai didi

c# - 'System.Dynamic.DynamicObject' 不包含 'PropertyName' 的定义

转载 作者:IT王子 更新时间:2023-10-29 04:19:25 25 4
gpt4 key购买 nike

我遇到了下一个问题:

我正在尝试运行 .NET MVC 站点以使用 ViewBag 将一些数据传递到我的 View 。这是我设置 VeiwBag 的方法。

[HttpGet]
[AllowAnonymous]
public ActionResult Start()
{
ViewBag.BanReason = null;
int userId;

//Request with UserId, display ban reason if necessary
if (Request.Params["UserId"] != null && int.TryParse(Request.Params["UserId"], out userId))
{
ViewBag.BanReason = CheckIfUserBanned(userId);
}

ViewBag.Users = MvcApplication.Users;

return View();
}

当我为 ViewBag 赋值时(例如 ViewBag.BanReason = null;),我收到带有消息的 RuntimeBinderException

'System.Dynamic.DynamicObject' does not contain a definition for 'BanReason'.

我将 Visual Studio 2012 与 .NET 4.5 一起使用,将本地 IIS 服务器与 ApplicationPool 和 .NET 4.0 一起使用。在具有相同配置的另一台计算机上一切正常,没有抛出异常。

请不要建议使用其他技术,如 ViewData[""] 和创建单独的模型,我不想更改在另一台机器上运行良好的代码。

我认为这是配置错误的问题。任何猜测将不胜感激。谢谢

最佳答案

您的代码没问题,ViewBag 具有动态属性,并且在运行时正在分配所有属性。

此异常是一个常见的 CLR 异常。尝试执行以下步骤,我希望它会起作用。打开 Visual Studio

  • 调试 --> 异常 -->(取消选中)公共(public)语言运行时异常

如果还有问题

  • 工具 --> 选项 --> 调试(展开)--> 常规 -->(选中)启用仅我的代码

希望对我有帮助,对我有用

Click Here for Detailed Images

关于c# - 'System.Dynamic.DynamicObject' 不包含 'PropertyName' 的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18383012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com