У меня есть метод, который используется для вызова соответствующего ActionResult на основе части.Это вызывает метод Action на контроллере asp.net для возврата представления в виде байтов в формате pdf.
private byte[] CreateCertificatePart(string pdfData, CertificatePart part)
{
var customSwitches = string.Format(
"--print-media-type " +
"--margin-top 10mm " +
"--margin-bottom 10mm " +
"--margin-left 10mm " +
"--margin-right 10mm " +
"--encoding utf-8 " +
"--minimum-font-size 11 " +
"--zoom 1.0 " +
"--disable-smart-shrinking"
);
var pdfResult = new ActionAsPdf(part.ToString(), new { pdfData }) { CustomSwitches = customSwitches };
var pdfBytes = pdfResult.BuildFile(ControllerContext);
return pdfBytes;
}
Это вызовет соответствующий ActionResult на основе строки детали, такой как
[System.Web.Http.HttpPost]
public ActionResult NewCertificateBody([FromBody]PdfData pdf)
{
var reference = "";
try
{
//var vmCert = (vmCert)JsonConvert.DeserializeObject(pdfData);
return View(pdf.PdfBodyName, pdf.CertModel);
}
catch (Exception ex)
{
//AppInsightLog.LogError(ex, quoteReference);
return new HttpStatusCodeResult(400, "NewCertificateBody");
}
}
Проблема в том, что я хочу получить объект из тела ActionResult (PdfData), а не отправлять данные в строке запроса.Но как мне сказать методу CreateCertificatePart поместить строку json pdfData в тело в первую очередь?
Спасибо!