我想做一些事情,比如在个人资料页面中编辑我的电子邮件地址,然后返回主页说它成功了 - 就像stackoverflow在收到答案或获得新徽章时那样。
答案 0 :(得分:3)
尝试使用TempData:
public ActionResult PostUserEmail(string email)
{
TempData["Message"] = 'Email address changes successfully';
return RedirectToAction("HomePage");
}
public ActionResult HomePage(string email)
{
ViewData["Message"] = TempData["Message"];
return View();//Use ViewData["Message"] in View
}
重定向后, TempData["Message"]
仍然存在。 TempData持续到下一个请求,然后它就消失了。
答案 1 :(得分:1)
我没有使用MVC2,但在MVC1中可以执行以下操作:
return RedirectToAction("HomePage", new { msg = "your message" });
public ActionResult HomePage(string msg)
{
// do anything you like with your message here and send it to your view
return View();
}
虽然发送简单信息可能有点太多了。您可以使用此方法发送所需的任何对象。我通常使用这种方法,因为我通常不喜欢使用基于字符串的查找(TempData [“stringLookup”],ViewData [“tringLookup”])因为我做了很多拼写错误。这样你就具有智能感知的优势。