【发布时间】:2013-01-25 18:11:25
【问题描述】:
我正在努力寻找一种在 POST 后反馈消息的好方法。
例如,我有这些方法
public ActionResult Index(int id)
{
Model model = getModel(id);
return View(model);
}
[HttpPost]
public ActionResult Save(Model model)
{
Result result = saveModel(result)
if (Result.Status != Status.SUCCESS)
{
...
}
else if(Result.Status != Status.FAILURE)
{
...
}else
{
...
}
return RedirectToAction("Index");
}
Result 类有一个 message 属性
public class Result
{
...
public string Message{get;set;}
}
所以,当我调用 .../Controller/Index/1 时,会显示我的索引视图,并且该视图有一个调用保存操作的提交按钮,但如果业务层出现问题,我想显示错误/警告信息。
那么,问题是解决这种情况的最佳方法是什么?
我已经阅读了一些推荐 TempData 的文章,其他人推荐 ViewData,将消息传输到索引视图。
【问题讨论】:
-
如果你想跨请求持久化数据,你必须使用TempData。如果您要重定向到另一个操作,ViewBag 将不起作用...
-
TempData用于重定向,ViewBag用于同一页面。
标签: c# asp.net-mvc-3