sesión se vuelve nula en el método del controlador

Tengo el siguiente controlador, en ese controlador creé la sesión para guardar el IENUMERABLE datos IENUMERABLE

  [HttpPost] [ValidateInput(false)] public ActionResult Create_Brochure(IEnumerable model) { IEnumerable newmodel = model; IEnumerable sample = model.Where..... Session["TemplateData"] = newmodel; return View(sample); } 

EDITAR:

La página de Vista Create_Brchure tiene un enlace href para llamar PrintIndex método PrintIndex en el mismo archivo de clase

 Download ViewAsPdf 

Este es el método PrintIndex

  public ActionResult PrintIndex() { return new Rotativa.ActionAsPdf("Create_Brochure_PDF") { FileName = "TestActionAsPdf.pdf" }; } 

Quiero usar ese conjunto de datos de la sesión nuevamente en el método del controlador Create_Brochure_PDF , así que creé aquí ese método

  public ActionResult Create_Brochure_PDF() { IEnumerable newmodel = Session["TemplateData"] as IEnumerable; IEnumerable samplePDF = newmodel.Where(.... return View(samplePDF); } 

pero en el método anterior IEnumerable newmodel nulo IEnumerable newmodel

EDITAR:

Si explico todo este escenario

  1. Create_Brochure método del controlador Create_Brochure tiene una vista,
  2. En esa vista, tengo un enlace href para guardar esa vista Create_Brochure como PDF
  3. Una vez que hago clic en ese enlace href, estoy llamando PrintIndex método PrintIndex , así que en ese método de acción nuevamente se llama al método Create_Brochure_PDF , así que PrintIndex conjunto de objetos nulos en Create_Brochure_PDF

Tuve el mismo problema hace algunas veces, así que se me ocurrió el método ViewasPdf() solución en la biblioteca Rotativa

Puede llamar directamente a una vez que haga clic en ese enlace href pero debe crear una Vista para este método que va a generar como PDF

Así que aquí los pasos.

  1. Cree una acción para la vista que va a generar como PDF

     public ActionResult Create_Brochure_PDF() { IEnumerable newmodel = Session["TemplateData"] as IEnumerable; IEnumerable samplePDF = newmodel.Where(.... rerurn View(); 

    }

  2. Generar vista para ese método de acción.

  3. Reemplazar esta línea rerurn View(); con la siguiente línea en el método Create_Brochure_PDF()

return new Rotativa.ViewAsPdf("Create_Brochure_PDF") { FileName = "TestActionAsPdf.pdf" };

  1. Ahora llame al método Create_Brochure_PDF() siguiente manera en la página de visualización de Create_Brochure

Download ViewAsPdf