我遇到了下一个问题:
我正在尝试运行 .NET MVC 网站,并使用 ViewBag 将一些数据传递给我的 View。 这是我设置 ViewBag 的方法。
[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的应用程序池的本地IIS服务器。在另一台配置相同的计算机上,所有工作都很好,没有抛出任何异常。请不要建议使用其他技术,如ViewData [“”]和创建单独的模型,因为我不想改变在其他机器上正常工作的代码。我认为这是配置错误问题。感谢任何猜测。谢谢。
ViewBag.BanReason
的代码。 - Satpal