2013-12-17 3 views
2

Я создаю приложение MVC 4. Я использую Rotativa для создания PDF-файловКак передать сложную модель ActionAsPDF?

у них есть метод, называемый

public ActionAsPdf(string action, object routeValues); 

У меня возникают проблемы, проходящей в сложном объекте в routeValues ​​

т.е.

У меня есть ViewModel

public class FullName 
{ 
    public string FirstName { get; set; } 
    public string Surname { get; set; } 
} 

public ActionResult Index(FullName name) 
{ 
    ViewBag.Message = string.Format("Hello {0} to ASP.NET MVC!", name); 
    return View(); 
} 

public ActionResult Test() 
{ 
    var fullname = new FullName(); 
    fullname.FirstName = "John"; 
    fullname.Surname = "Smith"; 

    return new ActionAsPdf("Index", new { name = fullname }) { FileName = "Test.pdf" }; 
} 

, когда я проходил через, в Index action имя null ... как передать сложную модель?

ответ

4

Проверить это

return new ActionAsPdf("Index", fullname) { FileName = "Test.pdf" }; 
+0

удивительным спасибо .. – user2206329

+0

как бы я пройти два ViewModels к ActionAsPdf? – user2206329

1
public ActionResult viewForPDFFile(int id) 
{ 
    Data data = new Manager().GetData(id); 
    return View(data); // this view content will show in PDF File 
} 

тогда называть его просто

return new ActionAsPdf("viewForPDFFile", new { id = id}) { FileName = String.Format("File_{0}.pdf",id) }; 
Смежные вопросы