Привязка строк запроса не работает в RazorPage даже при SupportsGet = true - PullRequest
0 голосов
/ 19 октября 2018

Вот моя страница ...

public class MyPage : PageModel
    {
        [BindProperty(SupportsGet = true)]
        public DateTime? StartDate { get; set; }

        [BindProperty(SupportsGet = true)]
        public DateTime? EndDate { get; set; }

        public async Task<IActionResult> OnGetAsync()
        {
            if (ModelState.IsValid)
            {
               await Task.Delay(1);
            }

            return Page();
        }
    }

Это строка запроса ...

? StartDate = 29% 2F10% 2F2018 & EndDate = 31% 2F10% 2F2018

Но свойства всегда равны нулю.

Чего мне не хватает?

1 Ответ

0 голосов
/ 19 октября 2018

Подшивка модели будет бороться со значениями даты, отформатированными как dd / MM / yyyy, или это MM / dd / yyyy, она спрашивает себя перед тем, как сдаться и потерпеть неудачу молча.Вы должны передавать даты в виде гггг-ММ-дд, в идеале:

?StartDate=2018-10-29&EndDate=2018-10-31

Если вы не можете контролировать формат даты, вы можете самостоятельно проанализировать значения и назначить ихСвойства PageModel.

...