【发布时间】:2018-12-20 14:32:59
【问题描述】:
我正在研究 MVC-5,我有使用 jquery get 函数下载 Excel、PDF、DOC 文件的场景。下面是代码sn-p:-
var url = '@Html.Raw(@Url.Action("RendertoEXCEL", "Reports", new { ObjSSRSExportTemplates = @Html.Raw(Json.Encode(@ViewBag.ExportObj)) })) ';
$.get(url, function (res)
{
window.location = url;
$("#ResultConsReport").mLoading('hide');
});
动作级别代码如下:-
public ActionResult RendertoEXCEL(string ObjSSRSExportTemplates)
{
byte[] ReadRequest = null;
JavaScriptSerializer js = new JavaScriptSerializer();
ExportReportConfig objExport = js.Deserialize<ExportReportConfig>(ObjSSRSExportTemplates);
string RptFomrat = "EXCEL";
SSRSReportManager rptManager = new SSRSReportManager(RServiceURL, RptUserName, RptPassword);
ReadRequest = rptManager.ExportReport(RDirName, objExport.ReportName, RptFomrat, objExport.parmaters);
return File(ReadRequest, "application/vnd.ms-excel", "Report.xls");
}
它工作得很好,但是当参数长度大小扩展时。它抛出错误:
此请求的查询字符串长度超过了配置的 maxQueryStringLength 值。
我google了一下,增加了:
maxUrlLength="10999" maxQueryStringLength="2097151"
在网络配置中但无法正常工作。有没有增加查询字符串的最大长度大小的解决方案?
【问题讨论】:
-
您可能想尝试在 Web.config 的
system.webServer部分添加<requestLimits maxUrl="10999" maxQueryString="2097151" />(如图所示 here ) -
请注意,每个浏览器也会有一个最大查询长度,超过该长度后它将被截断。
标签: jquery asp.net-mvc-5 getjson