У меня есть веб-приложение MVC5, над которым я работаю некоторое время. Когда я работаю на локальном, он работает идеально. Но когда я публикую его на сервере нашей компании, в разделе, где я печатаю квитанцию, возникает ошибка «Не удалось загрузить ресурс». Как я уже сказал, он отлично работает, когда я работаю на локальном компьютере. Я использую метод devexpress xtrareport .print() для печати квитанции. Вот некоторые коды, которые я использую:
Метод POST, это представление, в котором я получаю сообщение об ошибке:
function result() {
$(document).ready(function () {
value = document.getElementById('tutar').value;
var value3 = document.getElementById('bankalar').value;
var value2 = parseFloat(value);
try {
value1 = document.getElementById('1001').innerHTML;
} catch {
value1 = "Girilmedi";
}
if (document.getElementById("musteriAdi0").value == "") {
alert("Müşteri Adı Girilmeden İşlem Yapılamaz");
for (var u = p; u < i; u++) {
try {
var element = document.getElementById(u);
var row = element.parentNode.parentNode;
row.parentNode.removeChild(row);
} catch {
}
}
window.location.href = '@Url.Action("HizliAlimSatim", "Kuyumcu")';
}
else {
ekle();
var m = JSON.stringify({
'model': things, 'toplam': value2, 'personel': value1, 'KrediKarti': value3
});
things = [];
$(function () {
$.ajax({
type: "POST",
url: "/Kuyumcu/HizliAlimSatim",
contentType: "application/json; charset=utf-8",
dataType: "Json",
data: m,
success: function (data) {
if (data.includes("/Kuyumcu/Document") == false) {
g = g - i;
} else {
alert("İşlem Başarılı!");
//window.open(data, '_blank');
document.getElementById('tutar').value = 0;
toplam = 0;
degistir();
for (var u = p; u < i; u++) {
try {
var element = document.getElementById(u);
var row = element.parentNode.parentNode;
row.parentNode.removeChild(row);
} catch {
}
}
p = i;
window.location.reload(true);
}
}
});
});
}
});
}
это контроллер, в котором я вызываю метод печати:
Fis report = new Fis();
report.Parameters["FisNo"].Value = id;
report.Parameters["Musteri"].Value = model[0].MusteriAdSoyad;
report.Parameters["Islemci"].Value = personel;
report.CreateDocument(false);
//report.ShowPreview();
report.PrintingSystem.ShowMarginsWarning = false;
report.Print();
return Json(Url.Action("Document", "Kuyumcu");
Я пытался решить проблему в течение 2 дней, я думал, что это проблема на стороне сервера, но что бы я ни изменил, это не сработало.
Метод XtraReport.Print из вашего контроллера вызывается на стороне сервера, поэтому он работает, когда вы запускаете приложение на локальный хост. Когда вы развертываете его на производственном сервере, метод Print будет выполняться на сервере, а не на клиентском компьютере.
Предполагая, что вы используете Просмотрщик документов для отображения отчета на своей веб-странице, используйте клиентский API средства просмотра (см. метод Распечатать) для печати отчета. Например, обратитесь к фрагменту кода из темы Как отобразить диалоговое окно печати после загрузки WebDocumentViewer на веб-страницу.
Если вы хотите распечатать отчет, не отображая его, используйте подход, показанный в файле следующий пример.