我已经在默认的HomeController中为Viewbag.message设置了一个值,并在Shared/_Layout.cshtml中成功显示了它。

之后,我添加了另一个TestController并在TestController View 中,Viewbag.message似乎为空。我可以知道这是怎么回事。

如果我错了,请纠正我,据我所知Viewbag.Message应该在所有地方都可用?

最佳答案

ViewBag是一个动态属性,它利用了C#4.0中的新动态功能。
基本上,它是ViewData的包装,也用于将数据从 Controller 传递到相应的 View 。

  • 它的生命也只存在于当前请求中。如果发生重定向,则其值将为null。
  • 对于复杂的数据类型,不需要强制转换。

  • 下面的摘要表显示了不同的持久性机制。
    Credit:CodeProjectArticle

    关于asp.net-mvc - MVC从另一个 Controller 传递ViewBag值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18479297/

    10-12 13:42