在HttpPost中设置后,ViewBag.result在视图中为空

时间:2016-02-08 14:01:24

标签: asp.net asp.net-mvc

我有一个HttpPost方法,我称之为提交数据库添加transcation。如果成功,我设置我的viewbag.result ="成功添加"

var response =  UpdateDatabase(command);
if (response.success)
  viewbag.result = "successfully added";

RedirectToActoin("SubmitApplication");

在视图中,

if (!string.IsNullOrEmpty(@ViewBag.result))
{
    <p> @ViewBag.result</p>
}

我放置了一个断点,并且viewbag.result为null。

我不确定为什么viewbag.result为null。任何帮助表示赞赏。 感谢。

1 个答案:

答案 0 :(得分:2)

您应该使用TempData["Result"],以便在重定向后可以使用您的数据。

正如MSDN声明的TempData

  

表示仅从一个请求持续到下一个请求的一组数据。

此外,请在此处查看有关使用情况的更多信息:

viewbag-viewdata-and-tempdata

样本用法:

TempData["Results"] = "successfully added";

并使用SubmitApplication方法:

var message = (string)TempData["Results"];

始终检查我在这个例子中没有做过的空值等。