我面临下一个问题:
我正在尝试运行 .NET MVC 站点以使用 ViewBag 将一些数据传递给我的视图。这是我设置 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”不包含“BanReason”的定义。
我正在使用带有 .NET 4.5 的 Visual Studio 2012 和带有 .NET 4.0 的 ApplicationPool 的本地 IIS 服务器。在具有相同配置的另一台计算机上,一切正常,没有抛出异常。
请不要建议使用其他技术,如 ViewData[""] 和创建单独的模型,我不想更改在另一台机器上运行良好的代码。
我认为这是配置错误的问题。任何猜测将不胜感激。谢谢