Почему я не могу связать даты в строке запроса с параметрами GET?
Я использую ASP.NET Core 3.1. Я пытаюсь привязать даты в строке запроса к PageModel с помощью GET. Вот моя строка запроса:
?id=15+startDate=1900-01-01+endDate=1900-01-01
Вот подпись моего OnGet:
public void OnGet(int id, DateTime startDate, DateTime endDate)
Ценности всегда0, 1/1/0001 00:00:00, 1/1/0001 00:00:00
соответственно.
Если я удалю даты и просто передам идентификатор, он будет работать нормально. Почему даты в строке запроса разбивают все, включая идентификатор? Я также попытался изменить типы данных сDateTime
кstring
и он по-прежнему ломается со строковыми параметрами, всегдаnull
.

1 ответ
Разделитель параметров в строке запроса -&
, нет+
как ваш пример. Исправлено:
?id=15&startDate=1900-01-01&endDate=1900-01-01
Возможно, лучший подход к параметрам datetime - принять их как строки, а затем использовать DateTime.TryParse
для анализа с контролем над ожидаемым форматом. Таким образом, у вас всегда будет возможность проверить предоставленное строковое значение и решить, хотите ли вы преобразовать его вDateTime
, и как.
-
0Grrrr. Не уверен, о чем я думал, когда ставил плюсы. В последнее время я переключаюсь между очень многими языками. Я должен был это сразу понять. Удивительно, сколько раз смотришь на что-то и не видишь очевидного. Спасибо, что указали на это, теперь я чувствую себя действительно тупой. Кстати, я также рассматривал строковый подход и синтаксический анализ и, вероятно, в конечном итоге включу информацию о часовом поясе или даты ISO, чтобы убедиться, что локальные даты обрабатываются правильно. Psyfun
Другие вопросы
- Docker: PostgresSQL - произошла ошибка при подключении к базе данных.1 ответ
Я пытаюсь запустить демонстрацию ASP.NET Core с PostgresSQL в Docker, но соединение с базой данных не работает. fail: Microsoft.EntityFrameworkCore.Database.Connection[20004] An error occurred using the connection to database 'ToDoApp' on server 'tcp://postgresserver:5432'. fail: Microsoft.EntityFra...
- Функция клавиатуры работает только один раз для первой буквы ввода2 ответ
У меня есть текстовый ввод, где пользователь вводит желаемое имя страницы<input type='text' id='pageName' name='PageName' class='form-control pageName'> Я пытаюсь использовать функцию keyup для запуска Ajax, чтобы проверить, существует ли страница, однако при вводе чего-то вродеindex Ajax от...
- ajax дважды загружает данные из базы данных с помощью laravel php1 ответ
привет, я пытаюсь загрузить данные из базы данных с помощью ajax. но данные загружаются дважды на страницу html.<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script> $('button').click(function(){ $.ajax({ ...
- Нижний колонтитул мерцает при переходе на разные страницы1 ответ
У меня есть следующая разметка для отображения фиксированного нижнего колонтитула в основном макете:<nav class="main-footer navbar navbar-expand navbar-white navbar-light" style="height: 40px;"> <ul class="navbar-nav"> <li class="nav-item...
- Лучшая практика для перенаправления на текущую страницу2 ответ
У меня есть метод в контроллере, который меняет роль пользователя. После завершения я пытаюсь сохранить пользователя в текущем URL-адресе после завершения метода в контроллере. Я сейчас делаю это, отправляяreturn Redirect("/Profile/Index/" + id); , это страница, на которой я выполняю этот ...
- Получите дату истечения срока, относящуюся к дате1 ответ
Мне нужно рассчитать IsExpired в модели, если дата в прошлом, но мне нужно проверить до 23:59:59 Так, например, если срок годности 2021-06-02 13:56:22, а сегодня 2021-06-03 13:56:22 Дата истечет И если срок годности истекает 2021-06-03 13:56:22, а сегодня 2021-06-03, он не истечет, потому что это ещ...
- Файлы изображений успешно загружены в папку, но имя файла не сохраняется в базе данных1 ответ
Просмотр формы ввода страницы. Я пытался загрузить продукт с изображениями продуктов и выполнить полную операцию с изображениями и деталями продукта. Это форма для получения сведений о продукте и загрузки изображений. <form action="" method="post" id="product_form"&...
- Как контроллер конвертирует данные JSON из AJAX в экземпляр модели?1 ответ
Просто из любопытства. Я заметил это, когда делаю метод POST в AJAX. Я всегда упоминаюdatatype:'json' и он действительно работает с моим экземпляром модели в параметре в контроллере - URL-путь, указанный в AJAX. Но в то же время, когда я отправлял данные в JQGrid, мне понадобился контроллер возвраща...
- включает библиотеку jquery в js расширения chrome1 ответ
Я пытаюсь запустить эту работу ajax: $ (document).ready(function() { $.ajax({ url: 'sendvalue.php', type: 'POST', dataType:'json', data: ({cookievalue: cookie.value}), success: function(data) { console.log(data); } }); }); Но, по праву, поскольку я не включил б...

"Завидую тестировщикам: все хотят с ними дружить."