2

我正在创建一个 MVC 4 应用程序。我正在使用 Rotativa 生成 pdf

他们有一个方法叫做

public ActionAsPdf(string action, object routeValues);

我在将复杂对象传递给 routeValues 时遇到问题

IE:

我有一个视图模型

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操作中名称为空……如何通过复杂模型?

4

2 回答 2

5

检查这个

return new ActionAsPdf("Index", fullname ) { FileName = "Test.pdf" };
于 2013-12-17T06:30:42.843 回答
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) };
于 2014-06-15T07:59:13.060 回答