首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法将带[]的索引应用于'System.Dynamic.DynamicObject‘类型的表达式

无法将带[]的索引应用于'System.Dynamic.DynamicObject‘类型的表达式
EN

Stack Overflow用户
提问于 2013-12-21 04:40:16
回答 3查看 32.3K关注 0票数 36

当我试图给ViewBag赋值时,我得到了以下错误:

不能对类型为'System.Dynamic.DynamicObject‘的表达式应用带有[]的索引

我的代码如下:

代码语言:javascript
复制
public ActionResult Success()
{
   ViewBag["SuccessBody"] = TempData["successBody"];
   return View();
}

附言:你可能会问我为什么要这样做?因为我正在重定向到成功操作,并且我需要一些跨重定向持续存在的东西。然后,我将该值赋给ViewBag,以便将该值传递给一个“共享”视图。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-21 05:15:16

你试过了吗?

代码语言:javascript
复制
ViewBag.SuccessBody = TempData["successBody"];
票数 51
EN

Stack Overflow用户

发布于 2013-12-21 05:17:06

ViewBag是ViewData的动态包装器,因此这两个语句是相同的:

代码语言:javascript
复制
ViewBag.SuccessBody = TempData["successBody"];
ViewData["SuccessBody"] = TempData["successBody"];
票数 27
EN

Stack Overflow用户

发布于 2019-04-08 11:46:16

ViewBagViewData似乎可以互换,但对于如何访问它们内部的数据有不同的规则。当您尝试索引到ViewBag时,您的问题会弹出,但无法正常工作。

对于ViewBag,您使用一个点来取消引用这些项,如下所示。

ViewBag.MyItem

但是,使用ViewData时,您可以通过从键值字典中索引适当的键来访问这些项,如下所示。

ViewData["MyItem"]

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20711623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档