Le passage d'un objet de classe à partir d'une action de contrôleur de contrôleur de l'action en ASP.net MVC 4

Je veux passer un objet de classe à partir d'une action de contrôleur de contrôleur de l'action.

Expéditeur Action

public class CourseController : Controller
{
[HttpPost]
public ActionResult CreateNewCourse(CourseViewModelBase courseViewModel)
{
   if (ModelState.IsValid)
   {
       //Do some stuff
       return RedirectToAction("CreateNewProject", "Project",
                          new { courseVM = courseViewModel});
   }
   //Bad happened    
   return View("CreateNewCourse", courseViewModel);
}

Récepteur Action

public class ProjectController : Controller
{
[HttpGet]
public ActionResult CreateNewProject(CourseViewModelBase courseVM)
{
      //Use CourseVM data and do other stuff
     return View("Create", projectCreateViewModel);
}
}

Je reçois correctement les données dans Expéditeur Action et Récepteur Action est appelé correctement à partir de la rediriger vers l'action. Cependant courseVM dans Récepteur Action est null.

Je sais que c'est une très vieille question et avait été demandé de façon répétée. Mais j'ai trouvé que la plupart des réponses ont proposé d'utiliser TempData et ont répondu en 2008-2009. Je crois qu'il y aurait d'une certaine manière pour transmettre des données à l'aide de RedirectToAction without using TempData. Si il n'y est pas alors je voudrais aller avec TempData seulement.

Trouver
Si je passe quelques données simples par exemple new {id = courseViewModel.CourseDuration} et changer l'argument Récepteur d'action pour id, id est correctement reçu.

Des Questions Similaires
Question 1
Question 2
Question 3
Question 4
Question 5
Question 6, a essayé de l'utiliser mais n'a pas d'entraînement
Question 7
Question 8
Question 9
Question 10

La plupart des réponses dans les questions ci-dessus sont datés de retour en 2008/09 et utilise tempdata.

OriginalL'auteur Rohit | 2013-07-12