一个action是指一个控制器中的一个方法吗?是不是一个action结束后viewbag指向得对象自动清空内存。如果一个控制器内有个成员变量。不同action中有viewbag只想这一个成员变量。那其中一个action结束后是不是其他action中的viewbag也被清理了。
一个Action结束是指一次请求吧?
是的,一次请求
@大芝麻: 不会影响其它的Action,一次请求涉及多个Action,比如在视图中使用@html.renderaction("actionName"),viewData,viewBag,数据是不共享的,只有TempBag可以在一次请求中实现多个Action之间共享数据。
@happydaily: 明白了 谢谢!
一个Action结束,其他的Action不受影响,总觉得这样理解不对。
你应该理解了Action与请求的对应关系。
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 看到很多这样的不知来路的对象很困惑
实测发现ViewBag只在一个Action及对应的View中共用,不同Action共享用TempData["xxx"],没有TempBag!