public FileResult DownloadGeneralDocs(string docName)
{
string fileName = docName+".pdf";
var path = _globalWebSettings.Value.DownloadGeneralDocsPath;
string filePath = "";
if (fileName!="")
{
filePath = (_env.WebRootPath + string.Format("{0}{1}",path, fileName));
}
FileInfo file1 = new FileInfo(filePath);
byte[] fileBytes = System.IO.File.ReadAllBytes(file1.FullName);
return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
}
view.cshtml:
<script>
$(document).ready(function () {
$("#docTable tbody tr td button").click(function (e) {
var docName = $(this).closest("tr").find(".document_td_data").text();
$.ajax({
url: '@Url.Action("DownloadGeneralDocs", "Documents")',
dataType: "html",
cache:false,
data: { 'docName': docName },
success: function (data) {
window.location.href = "@Url.RouteUrl(new
{ Controller = "Documents", Action = "DownloadGeneralDocs" })/?docName=" + docName ;
},
error: function (err, response) {
console.log(err, response);
alert(err, response.responseText);
}
})
});
});
Я нашел ответ. Используйте прямоугольник в нижней части каждого подотчета после всех таблиц и других объектов рендеринга. Затем установите его свойство "PageBreak" в "End". Когда подотчет завершается с таблицами и/или другими объектами данных, прямоугольник принудительно разрывает страницу. Кроме того, если подотчет не возвращает ни одной строки данных, разрыв страницы не отображается. Таким образом, никаких дополнительных разрывов страниц
Как другое упоминание ответов, я использовал опцию "Page break before" на прямоугольниках/таблицах, но по некоторым причинам это только повредило бы страницу, если бы это не было в самом верху (sub) отчета