scv
scv

Reputation: 363

pass data from Action To Another Action

How would you pass the model from an (GetDate) action to another (ProcessP) action via RedirectAction method?

Here's the source code:

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

Upvotes: 5

Views: 9778

Answers (1)

Jesse
Jesse

Reputation: 8393

If you need to pass data from one action to another one option is to utilize TempData. For example within GetDate you could add data to the session as follows:

TempData["Key"] = YourData

And then perform the redirect. Within ProcessP you can access the data utilizing the key you previously used:

var whatever = TempData["Key"];

For a decent read, I would recommend reading through this thread: ASP.NET MVC - TempData - Good or bad practice

Upvotes: 8

Related Questions