gpt4 book ai didi

javascript - Excel 文件通过 POST 下载 C#(避免 404.15 查询字符串错误)

转载 作者:行者123 更新时间:2023-11-30 21:21:12 30 4
gpt4 key购买 nike

我目前正在从事一个 MVC 项目。我有一个按钮可以生成 excel 格式的报告。

我已经回答了许多其他用户之前提出的几个问题。

有没有办法通过 POST 传递查询字符串来避免查询长度。

这是我在数据库错误日志中看到的。

没有用户 404.15 未找到“/GD15/Batching/PaymentReport? checkIds=67284%7C66283%7C66288%................................

我通过 javascript 将大约 200 个 checkId 传递给 Controller ​​以生成 excel 文件。感谢您的帮助。

#Javascript 文件代码片段。(使用 knockout )

       self.onClickDownload = function () {
if (!self.actionsEnabled()){
return;
}

var selectedRows = self.paymentGrid.selectedRows();
var checkIds = [];
for (var i = 0; i < selectedRows.length; i++) {
checkIds[i] = selectedRows[i].Id;
}

self.isDownloading(true);

$.fileDownload(gControllerName + "/PaymentReport", {
data: { checkIds: checkIds.join("|") },
successCallback: self.onDownloadComplete,
failCallback: self.onDownloadFailed
});

Controller (代码片段)

  public ActionResult PaymentReport(string checkIds)
{
Report report = new Report
{
ReportDataProvider =
"BKO.App.Reporting.ReportDataProviders.PaymentDataProvider",
ReportFileFullName = "Payment.rdlc"
};
string mimeType;
byte[] excelData = ReportGenerator.GetReportData(ReportFormatEnum.EXCEL,
report, "CheckNumberList=" + checkIds, out mimeType);
Response.AppendCookie(new System.Web.HttpCookie("fileDownload", "true"));
return File(excelData,"application/vnd.ms-excel","PaymentReport_"+".xls");
}

最佳答案

改变:

$.fileDownload(gControllerName + "/PaymentReport", {
data: { checkIds: checkIds.join("|") },

到:

$.fileDownload(gControllerName + "/PaymentReport", {
httpMethod: 'POST',
data: { checkIds: checkIds.join("|") },

确保数据通过POST而不是GET发送。

关于javascript - Excel 文件通过 POST 下载 C#(避免 404.15 查询字符串错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45167620/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com