首页 新闻 会员 周边 捐助

ViewBag 只在一个action中有效是什么意思

0
悬赏园豆:10 [已解决问题] 解决于 2013-10-16 18:08

一个action是指一个控制器中的一个方法吗?是不是一个action结束后viewbag指向得对象自动清空内存。如果一个控制器内有个成员变量。不同action中有viewbag只想这一个成员变量。那其中一个action结束后是不是其他action中的viewbag也被清理了。

大芝麻的主页 大芝麻 | 初学一级 | 园豆:4
提问于:2013-10-16 14:48
< >
分享
最佳答案
0

一个Action结束是指一次请求吧?

收获园豆:7
happydaily | 菜鸟二级 |园豆:260 | 2013-10-16 14:52

是的,一次请求

大芝麻 | 园豆:4 (初学一级) | 2013-10-16 17:47

@大芝麻: 不会影响其它的Action,一次请求涉及多个Action,比如在视图中使用@html.renderaction("actionName"),viewData,viewBag,数据是不共享的,只有TempBag可以在一次请求中实现多个Action之间共享数据。

happydaily | 园豆:260 (菜鸟二级) | 2013-10-16 17:53

@happydaily: 明白了 谢谢!

大芝麻 | 园豆:4 (初学一级) | 2013-10-16 18:07
其他回答(2)
0

一个Action结束,其他的Action不受影响,总觉得这样理解不对。

你应该理解了Action与请求的对应关系。

收获园豆:3
幻天芒 | 园豆:37207 (高人七级) | 2013-10-16 15:45

public object obj = new Object();

public ActionResult Register()
{
ViewBag.Obj = this.obj;
return View();
}

public ActionResult LogOn()
{
ViewBag.Obj = this.obj;
return View();
}

请教大侠这个是指ViewBag.Obj的生命周期只在各自对应的视图中?还有你说的应该理解action与请求的关系是指?能具体点吗,我新手学WEB 看到很多这样的不知来路的对象很困惑

支持(0) 反对(0) 大芝麻 | 园豆:4 (初学一级) | 2013-10-16 17:56
0

实测发现ViewBag只在一个Action及对应的View中共用,不同Action共享用TempData["xxx"],没有TempBag!

沙闻 | 园豆:204 (菜鸟二级) | 2017-04-19 09:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册