5

您如何通过 RedirectAction 方法将模型从 (GetDate) 操作传递到另一个 (ProcessP) 操作?

这是源代码:

[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);
}
4

1 回答 1

8

如果您需要将数据从一个操作传递到另一个选项,则可以使用TempData。例如,在 GetDate 中,您可以将数据添加到会话中,如下所示:

TempData["Key"] = YourData

然后执行重定向。在 ProcessP 中,您可以使用之前使用的密钥访问数据:

var whatever = TempData["Key"];

为了获得体面的阅读,我建议通读此线程:ASP.NET MVC - TempData - Good or bad practice

于 2012-06-09T00:48:57.170 回答