如何通过Redirect Action方法将模型从(GetDate)操作传递到另一个(Process)操作?
这是源代码:
[HttpPost]
public ActionResult GetDate(FormCollection values, DateParameter newDateParameter)
{
if (ModelState.IsValid)
{
return RedirectToAction("ProcessP");
}
else
{
return View(newDateParameter);
}
}
public ActionResult ProcessP()
{
//Access the model from GetDate here??
var model = (from p in _db.blah
orderby p.CreateDate descending
select p).Take(10);
return View(model);
}
答案 0 :(得分:7)
如果您需要将数据从一个操作传递到另一个操作,则一个选项是使用TempData。例如,在GetDate中,您可以按如下方式向会话添加数据:
TempData["Key"] = YourData
然后执行重定向。在ProcessP中,您可以使用之前使用的密钥访问数据:
var whatever = TempData["Key"];
为了得到体面的阅读,我建议您阅读以下帖子:ASP.NET MVC - TempData - Good or bad practice