当我试图给ViewBag赋值时,我得到了以下错误:
不能对类型为'System.Dynamic.DynamicObject‘的表达式应用带有[]的索引
我的代码如下:
public ActionResult Success()
{
ViewBag["SuccessBody"] = TempData["successBody"];
return View();
}
附言:你可能会问我为什么要这样做?因为我正在重定向到成功操作,并且我需要一些跨重定向持续存在的东西。然后,我将该值赋给ViewBag,以便将该值传递给一个“共享”视图。
发布于 2013-12-21 05:15:16
你试过了吗?
ViewBag.SuccessBody = TempData["successBody"];
发布于 2013-12-21 05:17:06
ViewBag是ViewData的动态包装器,因此这两个语句是相同的:
ViewBag.SuccessBody = TempData["successBody"];
ViewData["SuccessBody"] = TempData["successBody"];
发布于 2019-04-08 11:46:16
ViewBag
和ViewData
似乎可以互换,但对于如何访问它们内部的数据有不同的规则。当您尝试索引到ViewBag
时,您的问题会弹出,但无法正常工作。
对于ViewBag
,您使用一个点来取消引用这些项,如下所示。
ViewBag.MyItem
但是,使用ViewData
时,您可以通过从键值字典中索引适当的键来访问这些项,如下所示。
ViewData["MyItem"]
https://stackoverflow.com/questions/20711623
复制相似问题