Как привязать контроллер к параметру многомерной строки запроса в .NET CoreC#

Место общения программистов C#
Ответить
Anonymous
 Как привязать контроллер к параметру многомерной строки запроса в .NET Core

Сообщение Anonymous »

У меня есть веб-клиент, который использует таблицы данных jQuery для разбиения на страницы и упорядочивания на стороне сервера. Он отправляет параметры определенным образом через строку запроса:
Вот пример параметра заказа, который отправляется на сервер:

Код: Выделить всё

&order[0][column]=1&order[0][dir]=asc&start=0&length=10&search[value]=&search[regex]=false&_=1618229879540
Мне очень сложно привязать эти параметры в классе ApiController.
Код контроллера:

Код: Выделить всё

[HttpGet]
public async Task GetAudits([FromQuery]DataTableParams dataTableParams)
{
var audits = await _auditRepository.GetAuditsAsync(dataTableParams);

return Ok(audits);
}
Классы параметров:

Код: Выделить всё

public class DataTableParams
{
public int Draw { get; set; }
public int Start { get; set; }
public int Length { get; set; } = 30;
public string Dir { get; set; }
public IEnumerable Order { get; set;}
}

public class DtOrder
{
/// 
/// Column to which ordering should be applied.
/// This is an index reference to the columns array of information that is also submitted to the server.
/// 
public int Column { get; set; }

/// 
/// Ordering direction for this column.
/// It will be dt-string asc or dt-string desc to indicate ascending ordering or descending ordering, respectively.
/// 
public string Dir { get; set; }
}
Что я делаю не так? Я попробовал DtOrder[] вместо IEnumerable. В каждом случае платформе не удается привязаться к параметру заказа, длина/счет равна 0.


Подробнее здесь: https://stackoverflow.com/questions/670 ... -in-net-co
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»