Member 13757304 Ответов: 1

Как я могу установить дату, когда мы делаем оплату?


как это исправить. я получаю ошибку Не может ли имплицитно преобразовать тип 'String' в 'System.Date.time?' кроме того, я подключаю сюда свою базу данных.

Что я уже пробовал:

охраняемых недействительными Add_Click(объект отправителя, EventArgs в электронной)
{
если (стр.Функция IsValid)
{
пробовать
{

StudentPayment newStudentPayment = новый студенческий платеж();
newStudentPayment.PaymentDate = Дата платежа.Текст;

}
catch (исключение)
{
бросать;
}
}
}

F-ES Sitecore

используйте DateTime.Метод tryparseexact, чтобы преобразовать строковое представление даты в переменную типа datetime. Однако имейте в виду проблемы с форматом, кто-то может использовать d\m\yy, кто-то может использовать m\d\yy, кто-то может использовать yyyy-m-d. Лучший способ обработки дат-заставить их использовать определенный формат с помощью проверки (TryParseExact вернет false, если преобразование не удастся, вы можете использовать это) или с помощью средства выбора даты на клиенте, которое гарантирует использование определенного формата.

1 Ответов

Рейтинг:
1

Bryian Tan

Вам нужно обновить код, чтобы разобрать строку в тип DateTime.

Вы можете сделать это таким образом

newStudentPayment.PaymentDate = DateTime.Parse(PaymentDate.Text);


или убедитесь, что входные данные являются допустимой строкой даты перед назначением

DateTime parsedDate;
		
if (DateTime.TryParse(PaymentDate.Text, out parsedDate )) {
	newStudentPayment.PaymentDate = parsedDate;
}


значение datetime.Метод TryParse (Система)[^]