Почему бы не использовать jquery для получения значения gdpr_privacy
? Или вы можете написать onsubmit
функцию
func onsubmit(){
let gdpr_privacy = $('#gdpr_privacy').val();
$.post('api/',gdpr_privacy)
// todo
}
Нет никакого существующего класса, который сделает это для Вас. Но Вам не должно быть трудно записать сериализуемый класс, который реализует IDataReader и является оберткой вокруг Вашего существующего DataTable.
Править: Вы могли бы найти легче наследоваться DbDataReader (я думаю, проверяю базовый класс SqlDataReader в обозревателе объектов). Это обеспечивает часть интерфейсной реализации для Вас. Но да, это - все еще довольно много тусклого кода.
Вы не можете. DataReader и DataTable являются двумя разными вещами.
Так как DataReader позволяет Вам считать данные как поток, я действительно не вижу, почему Вы хотите сделать это клиентское.
DataReader обычно используется, чтобы считать данные с базы данных и добавить логику для заполнения списка объектов или DataTable. Так лучше делать большую часть бизнес-логики, которая имеет отношение к зданию DataTable на веб-сервисе, передайте его клиенту как веб-сервис и работайте с другими функциями ADO.NET там для большего количества бизнес-логики.
Возможно, можно ли быть более конкретны по поводу того, почему Вы действительно хотите DataReader?
DataReader является самым быстрым способом считать хранилище данных, но только если определенные условия соблюдены:
Даже если бы эти условия соблюдает Ваш сценарий, DataReader представляет Связанное Хранилище данных, что означает, что необходимо было бы сохранить соединение открытым в течение времени, когда DataReader передается по сети и пока вызываемый метод в другом конце не возвращает своего рода ответ.
Поэтому это - мое мнение, что активный DataReader никогда не должен раздаваться через различные слои и приложения. Я очень извлек бы данные в другое хранилище данных или набор сначала и сразу избавился бы от DataReader.