目前我正在开发一个应用程序,其中会弹出一个对话框,其中包含正在接收的项目的详细信息(用户只需输入收到的金额)。用户输入更改(收到的金额),然后保存。保存后,我会提示用户通过确认创建 pdf(客户希望查看硬拷贝中的更改)。pdf 已正确生成并通过打开/保存/取消对话框提供给用户。
我的问题是,有没有办法只强制 pdf 自动打开而不提示打开/保存/取消?原因是我希望能够在弹出 pdf 时关闭幕后对话框,这样用户就不必自己关闭它。
以下是我到目前为止所拥有的。
看法
$.getJSON('@Url.Action("ReceiveProduct", "PurchaseOrder")', model, function (result) {
//Save was successful
if (result) {
var createPrintOut = confirm("Do you wish to create a print out?");
if (createPrintOut) {
var url = '@Url.Action("ViewPrintOut", "PurchaseOrder")';
window.location = url + "?POId=" + $("#PurchaseOrderId").val() + "&PId=" + $("#ProductId").val();
}
控制器
public ActionResult ViewPrintOut(int POId, int PId)
{
//Make sure user has proper permissions
if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders))
return AccessDeniedView();
var purchaseOrder = _purchaseOrderService.GetPurchaseOrderById(POId);
string fileName = string.Format("purchaseorderproduct_{0}_{1}.pdf", PId, DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss"));
string filePath = System.IO.Path.Combine(this.Request.PhysicalApplicationPath, "content\\files\\ExportImport", fileName);
_pdfService.PrintPurchaseOrderProductsToPdf(purchaseOrder, PId, _workContext.WorkingLanguage, filePath);
var bytes = System.IO.File.ReadAllBytes(filePath);
return File(bytes, "application/pdf", fileName);
}