私の似たような状況で、私がことがわかりましたRotivaは外出していないし、私の含まれているファイルをすべて取得していない、および/または時間がかかりすぎていた。
私は重要なことを決め、それをインラインで必要なものすべてを含む「静的レイアウト」に入れました。これには、正しくレンダリングする必要があるCSSファイルや、含まれるjavascriptファイルが含まれます。これらのファイルに移動すると、この静的レイアウトでその内容をコピーしてスタイルまたはスクリプトタグに貼り付けることができます。これで、Rotativaは移動して取得することなくこれらのペイロードを保持します。
//Layout Static
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
<meta charset="utf-8" />
<style type="text/css">
body {
color: white;
}
/*Whatever style info needed*/
</style>
<script type="text/javascript">
/*Whatever code needed*/
</script>
</head>
<body>
<div class="container">
@RenderBody()
</div>
</body>
</html>
私はちょうどビューをエクスポートrotivaのための私の標準的なレイアウトを置き換えるレイアウトにこれを置きます。
次に、私はこの静的レイアウトを使用したPDF出力のrotativaのビューのコピーを作成しました。
@model SomeModel
@{
ViewBag.Title = "Some Title";
Layout = "~/Views/Shared/_LayoutStatic.cshtml";
}
ありがとうございますが、本当に私はあなたの提案を理解できませんでした。より詳しく説明してください、 –