Skip to content

Commit 1365773

Browse files
Improved DtParameters Binding when exporting to file
1 parent 7e8c9b7 commit 1365773

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

src/jQueryDatatableServerSideNetCore/Controllers/TestRegistersController.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,14 +81,12 @@ public async Task<IActionResult> LoadTable([FromBody] DtParameters dtParameters)
8181
}
8282

8383
[HttpPost]
84-
public async Task<IActionResult> ExportTable([FromQuery] string format)
84+
public async Task<IActionResult> ExportTable([FromQuery] string format, [FromForm] string dtParametersJson)
8585
{
86-
var rawDtParametersData = HttpContext.Request.Form["dtParameters"];
87-
8886
var dtParameters = new DtParameters();
89-
if (!string.IsNullOrEmpty(rawDtParametersData))
87+
if (!string.IsNullOrEmpty(dtParametersJson))
9088
{
91-
dtParameters = JsonConvert.DeserializeObject<DtParameters>(rawDtParametersData);
89+
dtParameters = JsonConvert.DeserializeObject<DtParameters>(dtParametersJson);
9290
}
9391

9492
var searchBy = dtParameters.Search?.Value;

src/jQueryDatatableServerSideNetCore/wwwroot/js/app.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,12 +107,13 @@ function renderDownloadForm(format) {
107107
// Get jQuery DataTables AJAX params
108108
var datatableParams = $('#test-registers').DataTable().ajax.params();
109109

110-
if ($("#export-to-file-form input[name=dtParameters]").val()) {
111-
$('#export-to-file-form input[name=dtParameters]').val(datatableParams);
110+
// If the input exists, replace value, if not create the input and append to form
111+
if ($("#export-to-file-form input[name=dtParametersJson]").val()) {
112+
$('#export-to-file-form input[name=dtParametersJson]').val(datatableParams);
112113
} else {
113114
var searchModelInput = $("<input>")
114115
.attr("type", "hidden")
115-
.attr("name", "dtParameters")
116+
.attr("name", "dtParametersJson")
116117
.val(datatableParams);
117118

118119
$('#export-to-file-form').append(searchModelInput);

0 commit comments

Comments
 (0)