在ASP.NET MVC2中有一种方法在传递参数时返回redirectToAction吗?

时间:2010-04-21 05:27:38

标签: asp.net asp.net-mvc

我想做一些事情,比如在个人资料页面中编辑我的电子邮件地址,然后返回主页说它成功了 - 就像stackoverflow在收到答案或获得新徽章时那样。

2 个答案:

答案 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”])因为我做了很多拼写错误。这样你就具有智能感知的优势。