MVC3中RedirectToAction后ViewBag为空

.Net技术 码拜 10年前 (2014-07-23) 2170次浏览 0个评论

后台Controler代码:

ViewBag.alert= ArtDialog.OnlyOkDialog(“修改成功!”, “”, “”, 3);

return RedirectToAction(“Index”);

前台index视图页代码加入@ViewBag.alert

遇到的问题:修改成功后,将alert弹出框赋值给ViewBag.alert,并跳转到另一个action:index,ViewBag为空,弹出框并未出现。

原因:

ViewBag仅仅保存在一个request里
比如像
RedirectToAction之类的,会产生一个新request,那样ViewBag会丢失
这种情况应该用TempData

更改后:

TempData[“alert”] = ArtDialog.OnlyOkDialog(“修改成功!”, “”, “”, 3);

return RedirectToAction(“Index”);

前台:@TempData[“alert”]

问题解决。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明MVC3中RedirectToAction后ViewBag为空
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!