2015-11-25 1 views
1

Я пытаюсь создать pdf-файл с использованием rotativa в asp.net. В моем представлении представлено несколько частичных представлений. Я могу создать pdf-файл с одним частичным представлением, но когда я совмещаю все частичные представления и пытаюсь создать pdf-файл. Он создает PDF-файл перед загрузкой данных в pdf. пожалуйста, предложите, как провести процесс до загрузки данных в pdf. Спасибо заранее.Создайте pdf-файл с помощью rotativa в asp.net с несколькими частичными видами в одном представлении

public ActionResult Followers() 
    { 
     MediaAPIController mac = new MediaAPIController(); 
     JsonResult jR = mac.getUserInfo("", "", "", "201"); 
     MediaLibrary.User u = (MediaLibrary.User)jR.Data; 
     System.Threading.Tasks.Task.Run(async delegate 
     { 
      await Task.Delay(5000); 
      return 42; 
     }).Wait(); 

     return new Rotativa.ActionAsPdf("PreviewPdf", u) 
     { 
      FileName = "MyDoc.pdf", 
      PageSize = Rotativa.Options.Size.A4, 
      PageOrientation = Rotativa.Options.Orientation.Portrait, 
      PageMargins = { Left = 10, Right = 10 } 
     }; 
    } 
+0

Вы должны переместить функцию getUserInfo в службу и не массировать ее с помощью контроллера. –

ответ

0

Вы можете использовать ViewAsPdf метода вместо ActionAsPdf и передать модели, которые являются связать в частичном виде. Таким образом, представление будет привязано до рендеринга, и проблема будет решена.

+0

Спасибо, Manprit Singh, но для печати данных в формате pdf требуется много времени. – user845923

+0

В настоящее время я использую return new Rotativa.ViewAsPdf ("_ Activity", u) { FileName = "MyDoc.pdf", CustomSwitches = "DateTime.Now.Date.ToString (" MM/dd/yyyy ") + «Страница: [страница]/[toPage] \» --enable-javascript --debug-javascript --no-background «+» --javascript-delay 1500000 - изображения --print-media-type --enable- формы "+" - ориентация \ "Портрет \" - март-левый \ "10 \" --margin-right \ "10 \" - размер страницы \ "A4 \" "}; Но все же он печатает только несколько строк данных, а не полные данные в формате pdf. Есть ли способ улучшить процесс выполнения? – user845923

+0

Можете ли вы опубликовать какой-либо образец проекта, чтобы я мог просматривать код и работать? –