DateTime не содержит определения для HasValue и не имеет доступного метода расширения. - PullRequest
0 голосов
/ 14 апреля 2020

Мне было интересно, если кто-то может посоветовать мне, как исправить эту ошибку компилятора, пожалуйста? Я пытаюсь получить вход из выпадающего календаря и превратить его в строку. Заранее спасибо :)

protected void Calendar1_Selection(object sender, EventArgs e) {
        if (Calender1.SelectedDate.HasValue) {
            dateOfBirth.Text = Calender1.SelectedDate.Value.ToString("dd/MM/yyyy");
            Calander1.Visible = false;

        }

1 Ответ

3 голосов
/ 14 апреля 2020

Это потому, что SelectedDate имеет тип DateTime, а не Nullable<DateTime>

В соответствии с документацией

Значением по умолчанию является MinValue.

Это означает, что вы должны структурировать свой оператор if следующим образом:

if (Calender1.SelectedDate != DateTime.MinValue)

Для получения более подробной информации см .: https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.webcontrols.calendar.selecteddate?view=netframework-4.8

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...