Заголовок изображения с ротативом и нулевым макетом - PullRequest
0 голосов
/ 28 декабря 2018

Я недавно начал использовать Rotativa, и это удивительно, но сегодня я пытаюсь добавить заголовок в мой pdf, он работает без проблем, но заголовок отображается с помощью _layout.cshtml, а когда я пытаюсь удалить его с помощью Layout = null или выводит заголовок как PartialView вместо View, он просто показывает пустую страницу.

Вот как я работаю

public ActionResult Print(string CodigoDelfos, int Revision, string Versiones)
{
    //Create the url for the header (Test action)
    UriBuilder u = new UriBuilder(Request.Url.AbsoluteUri)
    {
        Path = Url.Action("Test", "Home", null),
        Query = null
    };

    //Format the header to read Test.cshtml file
    string t = string.Format("--header-html {0}", u.Uri.ToString());

    //The action i'll use to create the pdf        
    return new Rotativa.ActionAsPdf(nameof(ImprimirDetalleDistribucion), new
    {
        CodigoDelfos,
        Revision,
        Versiones
    })
    {
        CustomSwitches = t
    };
}

Затем файл Test.cshtml

<div class="container">
    <img src="~/Content/Images/CabeceraGarantizados.jpg" class="img-fluid" />
</div>

Здесь все работает нормально, если я отрисовываю его как View() (рендеринг с компоновкой по умолчанию), но если я делаю это как PartialView(), результат pdf будет blank таким же образом, как если бы яиспользуйте Layout = null

Почему это может происходить?

1 Ответ

0 голосов
/ 28 декабря 2018

Очевидно, что Ротари нужно, чтобы файл имел DOCTYPE определенный

Решение было просто добавить DOCTYPE

Test.cshtml

@{ Layout = null; }
<!DOCTYPE html>
<div class="container">
    <img src="~/Content/Images/CabeceraGarantizados.jpg" class="img-fluid" />
</div>    
...